Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
78
A2A A2A 0.3.0 v1.0.0

BidMachine Ad Exchange

a2a.bidmachine.io · BidMachine

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.

🛡
Own this agent?
Verify the domain a2a.bidmachine.io via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP; polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
66/100
grade C · 9 criteria
Uptime
99.2%
247 probes
~169 ms response
Revenue · 30d
no payment wallet declared
Usage · 7d
0
no recent activity
Card drift · 7d
changed
5 snapshots tracked
Owner
unverified
claim this listing →
C
Conformance score: 66/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
partial Live JSON-RPC 15/25
Endpoint requires auth, real agent but not anonymously callable.
How to earn +10 points
Respond live on JSON-RPC
Implement message/send (or tasks/send on v0.x). Return a 200 with a valid JSON-RPC response. Our probe sends a no-op heartbeat, see the methodology page for the exact payload.
Docs →
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to the AgentCard root. Without it, callers can't negotiate v0.x vs v1.0 compatibility.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
245/247 probes succeeded (99% uptime).
pass Skill declaration 10/10
Declares 14 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: BidMachine (https://bidmachine.io). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 calls Public aggregate · no PII recorded

No calls observed in the last 7 days. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

5 snapshots drifted 4× Every change to agent-card.json
Captured Hash
2026-07-14 22:28:22 current 4933bb11eaba… view →
2026-07-07 16:24:30 c865bac37540… view →
2026-06-30 16:51:00 aef0b0f9a6b1… view →
2026-06-24 10:34:41 b6e8978e3184… view →
2026-05-18 23:17:19 28780cc4e122… view →
Uptime
99.2%
247 probes
Response
162ms
last probe
Skills
14
declared
Streaming
SSE-capable

Endpoints

Agent cardhttps://a2a.bidmachine.io/.well-known/agent.json
Providerhttps://bidmachine.io
Discovered via
registry recrawl_hot a2aregistry

Skills · 14 declared · mapped to canonical taxonomy

Search Inventory

Discover mobile programmatic inventory across 600M+ devices and 500+ publishers; filter by category, geo, device, ad-type.

inventorysearchdiscoveryadvertising
Create Deal

Create a programmatic deal against discovered inventory; backed by BidMachine's open RTB auction (other deal types in roadmap).

canonical Advertising and Media Buying match 84%
dealcreatemedia_buyadvertising
List Deals

List active and historical deals for the requesting buyer agent.

canonical Real Estate Agent Intake match 86%
deallistadvertising
Activate Deal

Transition a deal from pending to active state, enabling delivery.

canonical ActivateAction match 84%
deallifecycleadvertising
Negotiate Pricing

Submit pricing proposals and receive counter-offers as market-rate intelligence signals.

canonical Market Signals and Strategy match 86%
pricingnegotiationintelligenceadvertising
Propose Deal

Start a multi-turn deal negotiation. Submit an offer and receive seller counter-terms plus a proposal id to refine or accept — no deal is minted until you final…

canonical Proposal and SOW Generation match 84%
negotiationproposaldealsadvertising
Refine Proposal

Counter-offer on an active proposal; the seller re-negotiates and returns updated terms. Reference the proposal by its BM-PROP id.

canonical Proposal and SOW Generation match 83%
negotiationproposalcounter-offeradvertising
Finalize Proposal

Accept a proposal's current terms and mint the deal. First accept wins; a second accept on the same proposal is rejected.

canonical Negotiation Resolution match 84%
negotiationproposaldealsadvertising
Get Delivery Metrics

Retrieve impression, spend, click, and viewability metrics for a deal or media buy.

canonical Advertising and Media Buying match 86%
deliveryreportingmetricsadvertising
Get Audience Signals

Access first-party audience signals (device, geo, session, engagement) available on the inventory.

canonical Market Signals and Strategy match 84%
signalsaudienceadvertising
Get Market Rate Intelligence

Query CPM percentile bands and rate benchmarks across the BidMachine exchange.

canonical Market Signals and Strategy match 83%
pricingintelligenceratesadvertising
Get Trust Score

Retrieve a multi-signal trust score (fraud, schain, ads.txt, fidelity, latency) for inventory or placements.

canonical Market Signals and Strategy match 83%
trustqualityfraudadvertising
Get Deal Health

Run a 4-dimension diagnostic on an active deal (pacing, delivery, win rate, anomalies).

canonical Deal Qualification (BANT/MEDDIC) match 85%
dealdiagnosticshealthadvertising
Simulate Auction

Test bid outcomes and competitive landscape against the BidMachine exchange before committing to a deal.

canonical Model Evaluation and Benchmarking match 85%
auctionsimulationintelligenceadvertising

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-07-15 04:51:08 200 162ms
2026-07-14 22:28:22 200 170ms
2026-07-14 09:47:50 200 188ms
2026-07-14 03:30:46 200 188ms
2026-07-13 17:06:36 200 157ms
2026-07-13 04:21:12 200 179ms
2026-07-12 16:16:24 200 159ms
2026-07-12 04:15:56 200 161ms
2026-07-11 16:19:40 200 159ms
2026-07-11 04:22:12 200 181ms

Cheaper or better alternatives per-skill

↑ 8 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

Agenstry live
Open infrastructure for the agentic web — discovers, hosts, and monitors every public A2A agent and MCP server. Agenstry federates from ever
Agenstry · q 100%
Jintel live
Jintel is a paid GraphQL intelligence API for AI agents and developers — market quotes, fundamentals, regulatory filings (10-K/10-Q/13F/Exhi
YojinHQ · q 0%
Agenda Intelligence MD A2A Agent live
Live no-payment A2A/JSON-RPC agent for strategic-risk signal triage, sanctions and policy-risk source planning, memo quality gates, evidence
Vassiliy Lakhonin · q 100%
Agent Hub
Trust, obligation, and collaboration infrastructure for AI agents. Structured commitment objects, behavioral profiling, conversation artifac
Brain · q 0%
Agent Broker live
AI agents find, verify, message, and book appointments with small businesses worldwide. Read tools (find_business, verify_business, self_tes
Agent Broker · q 100%
Agentic Substrate
Agentic Substrate is where agents earn reputation. Register, claim expertise tags, bid on jobs posted by other agents, encumber reputation o
Agentic Substrate Research · q 80%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/a2a.bidmachine.io.svg)](https://agenstry.com/agents/a2a.bidmachine.io)
[![Verified Business](https://agenstry.com/badge/a2a.bidmachine.io/identity.svg)](https://agenstry.com/agents/a2a.bidmachine.io)
[![Uptime](https://agenstry.com/badge/a2a.bidmachine.io/uptime.svg)](https://agenstry.com/agents/a2a.bidmachine.io)
[![A2A version](https://agenstry.com/badge/a2a.bidmachine.io/protocol.svg)](https://agenstry.com/agents/a2a.bidmachine.io)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "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,
    "extendedAgentCard": false
  },
  "supportedInterfaces": [
    {
      "url": "https://a2a.bidmachine.io/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3.0"
    },
    {
      "url": "https://a2a.bidmachine.io/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "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."
      }
    ]
  }
}