Skip to content
Back to BidMachine Ad Exchange

Card snapshot

a2a.bidmachine.io · 2026-07-07 16:24:30 UTC · c865bac37540a04e200ed72b56ac869003352ac3e73e4d219dc902c1b65e6261

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": "BidMachine Ad Exchange",
  "title": "BidMachine Ad Exchange",
  "description": "Agentic seller agent for the BidMachine ad exchange exposed via A2A intents. Buyer agents can search inventory, request deals, monitor delivery, query market-rate intelligence (CPM percentile bands, counter-offer signals), and access audience signals across 600M+ mobile devices from 500+ publishers. Backed by BidMachine's open RTB auction (other deal types in roadmap). 14 A2A intents supported with streaming + push notifications.",
  "url": "https://a2a.bidmachine.io/a2a",
  "version": "1.0.0",
  "provider": {
    "organization": "BidMachine",
    "url": "https://bidmachine.io"
  },
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "search_inventory",
      "name": "Search Inventory",
      "description": "Discover mobile programmatic inventory across 600M+ devices and 500+ publishers; filter by category, geo, device, ad-type.",
      "tags": [
        "inventory",
        "search",
        "discovery",
        "advertising"
      ],
      "examples": [
        "Find rewarded video inventory in US iOS games",
        "List CTV inventory under IAB-9-30"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "create_deal",
      "name": "Create Deal",
      "description": "Create a programmatic deal against discovered inventory; backed by BidMachine's open RTB auction (other deal types in roadmap).",
      "tags": [
        "deal",
        "create",
        "media_buy",
        "advertising"
      ],
      "examples": [
        "Create a deal for sports inventory in Q3",
        "Set up an order for rewarded video"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_deals",
      "name": "List Deals",
      "description": "List active and historical deals for the requesting buyer agent.",
      "tags": [
        "deal",
        "list",
        "advertising"
      ],
      "examples": [
        "Show my active deals",
        "List all deals from this quarter"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "activate_deal",
      "name": "Activate Deal",
      "description": "Transition a deal from pending to active state, enabling delivery.",
      "tags": [
        "deal",
        "lifecycle",
        "advertising"
      ],
      "examples": [
        "Activate deal BM-ADCP-XYZ",
        "Go live on my new media buy"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "negotiate",
      "name": "Negotiate Pricing",
      "description": "Submit pricing proposals and receive counter-offers as market-rate intelligence signals.",
      "tags": [
        "pricing",
        "negotiation",
        "intelligence",
        "advertising"
      ],
      "examples": [
        "Counter-offer at $5 CPM",
        "What's the floor for this inventory?"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "propose_deal",
      "name": "Propose Deal",
      "description": "Start a multi-turn deal negotiation. Submit an offer and receive seller counter-terms plus a proposal id to refine or accept \u2014 no deal is minted until you finalize.",
      "tags": [
        "negotiation",
        "proposal",
        "deals",
        "advertising"
      ],
      "examples": [
        "Propose a deal at $6 CPM for preferred banner inventory",
        "Send a proposal: seat my-dsp, $5 CPM"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "refine_deal",
      "name": "Refine Proposal",
      "description": "Counter-offer on an active proposal; the seller re-negotiates and returns updated terms. Reference the proposal by its BM-PROP id.",
      "tags": [
        "negotiation",
        "proposal",
        "counter-offer",
        "advertising"
      ],
      "examples": [
        "Refine BM-PROP-abc123 to $7 CPM",
        "Revise proposal BM-PROP-abc123 \u2014 raise to $8"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "finalize_deal",
      "name": "Finalize Proposal",
      "description": "Accept a proposal's current terms and mint the deal. First accept wins; a second accept on the same proposal is rejected.",
      "tags": [
        "negotiation",
        "proposal",
        "deals",
        "advertising"
      ],
      "examples": [
        "Accept proposal BM-PROP-abc123",
        "Finalize BM-PROP-abc123"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_delivery",
      "name": "Get Delivery Metrics",
      "description": "Retrieve impression, spend, click, and viewability metrics for a deal or media buy.",
      "tags": [
        "delivery",
        "reporting",
        "metrics",
        "advertising"
      ],
      "examples": [
        "How is my deal performing today?",
        "Show impressions for the last 7 days"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_signals",
      "name": "Get Audience Signals",
      "description": "Access first-party audience signals (device, geo, session, engagement) available on the inventory.",
      "tags": [
        "signals",
        "audience",
        "advertising"
      ],
      "examples": [
        "What signals are available for sports apps?",
        "List geo signals for US inventory"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_market_rates",
      "name": "Get Market Rate Intelligence",
      "description": "Query CPM percentile bands and rate benchmarks across the BidMachine exchange.",
      "tags": [
        "pricing",
        "intelligence",
        "rates",
        "advertising"
      ],
      "examples": [
        "What's the median CPM for US iOS rewarded video?",
        "Show rate bands for sports inventory"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_trust_score",
      "name": "Get Trust Score",
      "description": "Retrieve a multi-signal trust score (fraud, schain, ads.txt, fidelity, latency) for inventory or placements.",
      "tags": [
        "trust",
        "quality",
        "fraud",
        "advertising"
      ],
      "examples": [
        "What's the trust score for this app?",
        "Show placement quality signals"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_deal_health",
      "name": "Get Deal Health",
      "description": "Run a 4-dimension diagnostic on an active deal (pacing, delivery, win rate, anomalies).",
      "tags": [
        "deal",
        "diagnostics",
        "health",
        "advertising"
      ],
      "examples": [
        "Is my deal healthy?",
        "Diagnose underdelivery on deal X"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "simulate_auction",
      "name": "Simulate Auction",
      "description": "Test bid outcomes and competitive landscape against the BidMachine exchange before committing to a deal.",
      "tags": [
        "auction",
        "simulation",
        "intelligence",
        "advertising"
      ],
      "examples": [
        "Simulate a $4 CPM bid on US iOS games",
        "What would I win at $6?"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "securitySchemes": {
    "bearerAuth": {
      "type": "http",
      "scheme": "bearer",
      "description": "Bearer token issued by the seller (admin-gated POST /api/v1/auth/keys). Same key pool as the AdCP / AAMP MCP endpoints \u2014 one key authenticates all three surfaces."
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "authentication": {
    "schemes": [
      {
        "scheme": "bearer",
        "description": "Required bearer token issued by the seller. Contact the seller operator to obtain one."
      }
    ]
  }
}