Skip to content
Back to Neuron Sports Ad Exchange

Card snapshot

neuronsystems.org · 2026-09-29 06:10:57 UTC · 05000e6ab0c95b031fcd6fd0496bc5300e135617508064ad77fde3bc6dda3379

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "Neuron Sports Ad Exchange",
  "description": "Autonomous sports advertising exchange. Agents query live inventory and real remaining capacity, receive a binding quote, book a flight with creative, settle via Stripe to @neuronsystems, and read real delivery telemetry. Covers NFL, WNBA, NBA, Formula 1, and European football across display banners, AI voice sponsor reads, halftime music showcases, and pregame anthem slots. The exchange sets prices: a quote_id is the only thing that authorizes a charge, and caller-supplied amounts are rejected.",
  "version": "2.0.0",
  "url": "https://neuronsystems.org/api/v1",
  "preferredTransport": "HTTP+JSON",
  "additionalInterfaces": [
    {
      "url": "https://neuronsystems.org/api/v1",
      "transport": "HTTP+JSON"
    },
    {
      "url": "https://neuronsystems.org/mcp",
      "transport": "MCP-STREAMABLE-HTTP"
    }
  ],
  "documentationUrl": "https://neuronsystems.org/openapi.json",
  "iconUrl": "https://neuronsystems.org/og-image.png",
  "provider": {
    "organization": "Neuron Systems Inc.",
    "url": "https://neuronsystems.org"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "securitySchemes": {
    "none": {
      "type": "apiKey",
      "in": "header",
      "name": "X-Neuron-Api-Key",
      "description": "Optional. Discovery, quoting, and booking are open; Stripe handles payment authorization. Supply a key only if one has been issued to you for per-buyer attribution."
    }
  },
  "security": [],
  "skills": [
    {
      "id": "check_inventory",
      "name": "Check Inventory & Capacity",
      "description": "Returns ad formats, the published list CPM (list_cpm_usd), the biddable hard floor (floor_cpm_usd), and the REAL remaining impressions per slot from the live booking ledger. GET /api/v1/inventory?sport=&format=",
      "tags": [
        "advertising",
        "inventory",
        "sports",
        "capacity",
        "rate-card"
      ],
      "examples": [
        "What halftime inventory is still available for NFL today?",
        "List CPM floors for all display formats."
      ]
    },
    {
      "id": "list_tenders",
      "name": "List Open Tenders",
      "description": "Lists slots with unsold capacity right now, ordered by how close they are to selling out, each with list_cpm_usd, floor_cpm_usd, and the exact quote call to make. GET /api/v1/tenders?sport=&limit=",
      "tags": [
        "advertising",
        "tenders",
        "availability",
        "sports"
      ],
      "examples": [
        "Show me open sports ad tenders with the highest sell-through."
      ]
    },
    {
      "id": "estimate_cost",
      "name": "Get a Binding Quote",
      "description": "Prices a slot and returns a quote_id valid for 30 minutes. REQUIRED before any charge. POST /api/v1/quote with { format, sport, impressions }. Volume discounts apply at 25k/50k/100k/250k impressions and never price below floor_cpm_usd, the hard floor.",
      "tags": [
        "advertising",
        "pricing",
        "quote",
        "cpm"
      ],
      "examples": [
        "Quote 50,000 impressions of the halftime music showcase on NFL.",
        "What would 100,000 mobile banner impressions cost run-of-network?"
      ]
    },
    {
      "id": "create_order",
      "name": "Book a Flight",
      "description": "Books a flight against a quote_id with creative assets and returns an order_id plus a Stripe Checkout URL for exactly the quoted amount. POST /api/v1/orders with { quote_id, brand_name, click_url, ...creative }. Send an Idempotency-Key header to make retries safe.",
      "tags": [
        "advertising",
        "booking",
        "order",
        "stripe",
        "checkout"
      ],
      "examples": [
        "Book the quote I just received with my banner creative."
      ]
    },
    {
      "id": "submit_bid",
      "name": "Submit a Programmatic Bid",
      "description": "Bids a CPM against a slot. The broker accepts (returning a spendable quote_id), counters with a price, or rejects anything below floor_cpm_usd. POST /api/v1/bids with { format, sport, bid_cpm_usd, impressions, bidder_name }.",
      "tags": [
        "advertising",
        "rtb",
        "bidding",
        "negotiation",
        "programmatic"
      ],
      "examples": [
        "Bid $5.50 CPM for 60,000 leaderboard impressions on NFL."
      ]
    },
    {
      "id": "create_checkout",
      "name": "Create a Stripe Checkout Session",
      "description": "Generates a live Stripe Checkout URL for an existing quote_id or order_id, settling to @neuronsystems. The amount is read from the stored quote and cannot be supplied by the caller. POST /api/v1/checkout with { quote_id } or { order_id }.",
      "tags": [
        "payment",
        "stripe",
        "checkout",
        "settlement"
      ],
      "examples": [
        "Create a checkout session for quote NQ-ABC123."
      ]
    },
    {
      "id": "get_telemetry",
      "name": "Read Delivery Telemetry",
      "description": "Returns real delivery for a booked flight: impressions served, clicks, CTR, audio completion rate, pacing, and settlement status. GET /api/v1/orders/{order_id}/telemetry",
      "tags": [
        "advertising",
        "telemetry",
        "measurement",
        "reporting"
      ],
      "examples": [
        "How is my campaign pacing?"
      ]
    }
  ]
}