generated: '2026-09-19' method: searched source: https://travel.agenthaven.dev/ docs: - https://travel.agenthaven.dev/health - https://provedby.dev/contracts/guest-buyer.md limit_count: 3 summary: >- Agent Bench publishes budget-style limits rather than a requests-per-second ceiling: a shared anonymous search budget per day and per month, and a daily cap on guest purchases shared by all guests, plus a per-purchase spending ceiling and a mandate lifetime for guests. No rate-limit response headers are documented or were observed; the runtime signal is unusual and better — GET /health publishes the live counters, and an exhausted budget is written to the public ledger as a request.refused entry with reason search_budget_exhausted. The HTTP status or JSON-RPC shape a caller receives on exhaustion is not documented and was not exercised. rate_limits: - name: Anonymous searches per day scope: shared across all anonymous callers limit: 40 window: 1 day metric: search_flights call burst: null applies_to: [MCP tools/call search_flights, A2A message/send search_flights] exemption: '"an authorised search never counts against that"' source: 'https://travel.agenthaven.dev/ — "Anonymous searches are limited to 40 per day and 120 per month"; GET /health counters.anonymous_searches.per_day 40' - name: Anonymous searches per month scope: shared across all anonymous callers limit: 120 window: 1 month metric: search_flights call applies_to: [MCP tools/call search_flights, A2A message/send search_flights] source: 'https://travel.agenthaven.dev/; GET /health counters.anonymous_searches.per_month 120 (used_this_month 47 at fetch)' note: Guest searches also spend this budget ("guest searches spend the anonymous budget"). - name: Guest purchases per day scope: shared across all guest buyers limit: 20 window: 1 day metric: create_checkout under a self-issued guest mandate applies_to: [create_checkout] source: 'https://travel.agenthaven.dev/ — "Guest purchases are limited to 20 a day, all guests together"; GET /health guests.purchases_per_day 20 (purchases_today 0 at fetch)' spend_and_time_limits: - {name: Guest purchase ceiling, limit: '1000.00 EUR per purchase', source: 'docs "buys up to 1000.00 EUR on its own domain''s word"; GET /health guests.ceiling_minor 100000, currency EUR'} - {name: Guest mandate lifetime, limit: 'at most 10 minutes', source: 'docs "living at most 10 minutes"; GET /health guests.mandate_max_seconds 600'} - {name: Quote validity, limit: '10 minutes from search_flights', source: 'tools/list — "each a quote valid for ten minutes"; options[].expires_at'} - {name: Operator-issued JWT spending cap, limit: 'set per token in EUR by the buyer''s human; a request above the cap is refused and the refusal is written to the ledger', source: 'agent card securitySchemes.bearer; docs "How to call it" step 2'} - {name: Options per search, limit: 2, source: 'tools/list outputSchema options maxItems 2'} headers: [] exhaustion: status_code: not documented; not exercised ledger_signal: 'request.refused with facts.reason search_budget_exhausted (observed 2 times in 639 entries)' runtime_readout: 'GET https://travel.agenthaven.dev/health counters.anonymous_searches {used_today, used_this_month, per_day, per_month} and guests {purchases_today, purchases_per_day} — unauthenticated, JSON' retry_after: not signalled