{"service":"Agent Mercantile","catalog_version":"am-catalog-0.2.0","catalog":"GET https://api.agentmercantile.com/v1/catalog","payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"families":[{"family":"WEB_INTELLIGENCE","label":"Web Intelligence","machines":["VM01","VM07"]},{"family":"ONCHAIN_PREFLIGHT","label":"Onchain Preflight","machines":["VM02","VM03","VM04","VM06"]},{"family":"AGENT_COMMERCE","label":"Agent Commerce","machines":["VM05","VM08","VM09","VM10","VM11"]}],"family_wallet_note":"A wallet buying multiple machines within one family counts once for that family's unique-wallet metric. A wallet buying across families may count once in each relevant family. Family unique-wallet counts must never be summed to claim portfolio-unique buyers.","machines":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations.","when_to_call":"Call when you need a bounded JSON reading of one public HTTPS page without a browser, login, site crawl, or LLM. Not for private URLs, http, non-443 ports, authenticated pages, or multi-URL crawls.","operationId":"postVm01UrlContext","method":"POST","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","request_content_type":"application/json","input_schema":{"type":"object","required":["url"],"additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","description":"One absolute public HTTPS URL on port 443. No credentials in the URL. http, non-443 ports, and private/non-public targets are rejected without fetch."}}},"input_example":{"url":"https://example.com/"},"unsupported":["http URLs","non-443 ports","credentials in the URL","private/non-public targets","additional JSON fields","site-wide crawls","authenticated/login pages","LLM summaries or screenshots"],"allowlists":{"scheme":["https"],"port":[443]},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/UrlContextResponse","output_example":{"status":"OK","methodology_version":"url-context-0.1.0","checked_at":"2026-08-19T00:00:00.000Z","requested_url":"https://example.com/","final_url":"https://example.com/","http":{"status":200,"content_type":"text/html; charset=UTF-8","redirect_count":0},"metadata":{"title":"Example Domain","description":null,"canonical":"https://example.com/"},"outline":[{"level":1,"text":"Example Domain"}],"content":{"text":"This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.","extraction_basis":"body-heuristic","characters":155,"approx_tokens":39,"token_estimate_method":"ceil(characters/4)","truncated":false},"structured_data":{"json_ld_types":[]},"freshness":{"observations":[]},"size":{"source_bytes_read":1256,"output_json_bytes":1400,"normalized_content_characters":155},"evidence":{"final_response_headers":{"content-type":"text/html; charset=UTF-8"},"notes":[]},"limitations":[]},"methodology_version":"url-context-0.1.0","freshness":"Result is from one fetch at checked_at. Freshness is observed dates/headers only; no invented stale/fresh label.","limits":{"max_redirects":3,"max_outbound_requests":4,"max_response_bytes":262144,"per_request_timeout_ms":5000,"overall_timeout_ms":15000,"max_text_chars":8000,"allowed_port":443},"evidence":"Paid JSON includes evidence notes and limitations. Successful settlement also returns PAYMENT-RESPONSE. The settlement ledger does not store the purchased page body or the raw payment signature.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/url-context-pack/","related":[{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals.","when_to_call":"Call when you need a same-block Base allowance-versus-balance snapshot for one owner, one ERC-20 token, and one spender. Not a wallet-wide scanner, Permit2 reader, other-chain checker, simulator, or revoke advisor.","operationId":"postVm02AllowanceExposure","method":"POST","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","request_content_type":"application/json","input_schema":{"type":"object","required":["owner","token","spender"],"additionalProperties":false,"properties":{"owner":{"type":"string","description":"ERC-20 token owner address. 0x-prefixed 20-byte EVM address."},"token":{"type":"string","description":"ERC-20 token contract. 0x-prefixed 20-byte EVM address. Zero address is rejected."},"spender":{"type":"string","description":"Spender address. 0x-prefixed 20-byte EVM address."}}},"input_example":{"owner":"0x0000000000000000000000000000000000000001","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","spender":"0x0000000000000000000000000000000000000002"},"unsupported":["chains other than Base (eip155:8453)","token zero-address","additional JSON fields","Permit2 / nested approvals","wallet connection or signing","transaction simulation or revoke advice"],"allowlists":{"network":["eip155:8453"],"fields":["owner","token","spender"]},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/AllowanceExposureResponse","output_example":{"status":"OK","machine":"VM02","methodology_version":"allowance-exposure-0.1.0","network":"eip155:8453","block_number":"12345678","owner":"0x0000000000000000000000000000000000000001","token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","spender":"0x0000000000000000000000000000000000000002","token_metadata":{"symbol":"USDC","decimals":6},"allowance_raw":"1000000","allowance_adjusted":"1","balance_raw":"500000","balance_adjusted":"0.5","allowance_balance_exposure_raw":"500000","allowance_balance_exposure_adjusted":"0.5","allowance_covers_current_balance":true,"max_uint256_approval":false,"effectively_unlimited":false,"evidence":{"block_number":"12345678","same_block_reads":true,"token_code_present":true},"limitations":["Base Mainnet only (eip155:8453)."]},"methodology_version":"allowance-exposure-0.1.0","freshness":"Reads are at one Base block; block_number is returned. Not a mempool or historical allowance timeline.","limits":{"connect_timeout_ms":5000,"response_timeout_ms":8000,"max_rpc_methods_per_evaluation":6,"network":"eip155:8453"},"evidence":"Paid JSON includes same-block evidence, token metadata, and limitations. Successful settlement also returns PAYMENT-RESPONSE. No RPC before payment.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/allowance-exposure-preflight/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration.","when_to_call":"Call when you need to check whether bounded Ethereum/Base wallet/portfolio evidence is sufficiently complete before downstream reasoning. Discovery returns at most 40 holdings. overflow_holding_count>0 means additional holdings were omitted. overflow_count_complete=false means that omitted-count total is not guaranteed complete. status=PARTIAL can be the expected truthful state when the 40-holding cap is reached and does not necessarily mean the request failed. Includes inventory/composition, partial DEX pricing coverage, concentration, and evidence gaps. Not guaranteed net worth, investment advice, transaction approval/safety certification, or execution.","operationId":"postVm03PortfolioPreflight","method":"POST","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","request_content_type":"application/json","input_schema":{"type":"object","required":["address"],"additionalProperties":false,"properties":{"address":{"type":"string","description":"One public 0x-prefixed 20-byte EVM address."},"chains":{"type":"array","minItems":1,"maxItems":2,"uniqueItems":true,"items":{"type":"string","enum":["eip155:1","eip155:8453"]},"description":"Optional. Defaults to Ethereum and Base."},"declared_holdings":{"type":"array","maxItems":10,"items":{"type":"object","required":["chain","token","quantity_raw"],"additionalProperties":false,"properties":{"chain":{"type":"string","enum":["eip155:1","eip155:8453"]},"token":{"type":"string","description":"Nonzero ERC-20 contract."},"quantity_raw":{"type":"string","description":"uint256 decimal integer string. Hint only."}}}}}},"input_example":{"address":"0x0000000000000000000000000000000000000001","chains":["eip155:1","eip155:8453"]},"unsupported":["chains other than eip155:1 and eip155:8453","additional JSON fields","more than 10 declared_holdings","wallet connection, signing, or custody","trading or investment recommendation","transaction approval or safety certification","guaranteed complete net worth","complete portfolio enumeration","treating PARTIAL from the 40-holding discovery cap as request failure"],"allowlists":{"chains":["eip155:1","eip155:8453"],"fields":["address","chains","declared_holdings"],"max_declared_holdings":10},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/PortfolioPreflightResponse","output_example":{"status":"OK","machine":"VM03","methodology_version":"portfolio-preflight-0.2.0","checked_at":"2026-08-21T00:00:00.000Z","address":"0x0000000000000000000000000000000000000001","requested_chains":["eip155:1","eip155:8453"],"chains_run":["eip155:1","eip155:8453"],"chain_results":[{"chain":"eip155:1","inventory_status":"OK","block_number_observed":"1","inventory_complete":true,"provider_response_complete":true,"discovery_capped":false,"pages_read":1}],"valuation":{"quote_basis":"PARTIAL_DEX_QUOTED_COMPOSITION","priced_usd":null,"priced_holding_count":0,"unpriced_holding_count":2,"as_of":"2026-08-21T00:00:00.000Z"},"concentration":{"concentrated":false,"basis":"PRICED_HOLDINGS_ONLY","threshold":"0.40","largest_priced_share":null,"largest_priced_holding":null},"holdings":[{"chain":"eip155:1","asset_kind":"native","token":null,"symbol":"ETH","decimals":18,"balance_raw":"0","balance_adjusted":"0","price_usd":null,"priced_usd":null,"liquidity_usd":null,"volume_h24_usd":null,"pair_address":null,"pair_url":null,"pair_created_at":null,"observations":["NO_DEX_MARKET"],"confidence":"MEDIUM","evidence_ids":["e-inv-eip155:1"]}],"returned_holding_count":1,"overflow_holding_count":0,"overflow_count_complete":true,"sources":[{"id":"src-inv-eip155:1","role":"inventory","provider":"alchemy","chain":"eip155:1","retrieved_at":"2026-08-21T00:00:00.000Z","block_number":"1","request_scope":"native+erc20_unknown","pagination_complete":true,"provider_response_complete":true,"discovery_capped":false,"limitations":[]}],"evidence":[{"id":"e-inv-eip155:1","kind":"inventory","summary":"Bounded native and ERC-20 discovery."}],"limitations":["This is a bounded DEX-quoted composition, not guaranteed net worth.","Discovery returns at most 40 holdings. This example returns 1 holding, overflow_holding_count=0, and overflow_count_complete=true. overflow_holding_count>0 means additional holdings were omitted. overflow_count_complete=false means that omitted-count total is not guaranteed complete. status=PARTIAL can be the expected truthful state when the 40-holding cap is reached and does not necessarily mean the request failed. Not complete portfolio enumeration."],"confidence":"MEDIUM","readiness":{"purpose":"PRE_ACTION_EVIDENCE_READINESS","status":"PARTIAL","evidence_sufficient_for_reasoning":false,"inventory_complete":true,"pricing_coverage":{"priced_holding_count":0,"unpriced_holding_count":1,"priced_share_of_returned_holdings":"0"},"concentration_flag":false,"factual_flags":["NO_DEX_MARKET"],"evidence_gaps":["INCOMPLETE_PRICING_COVERAGE","UNPRICED_HOLDINGS"]}},"methodology_version":"portfolio-preflight-0.2.0","freshness":"Holdings and DEX observations are retrieved after payment at checked_at. Token metadata and DEX quotes may use documented TTLs. Not a continuously updated net-worth feed.","limits":{"max_returned_holdings":40,"max_declared_holdings":10,"inventory_budget_ms":8000,"requested_chains":["eip155:1","eip155:8453"],"discovery_snapshot":"bounded; at most 40 holdings returned","overflow_holding_count":">0 means discovered holdings were omitted from the returned snapshot","overflow_count_complete":"false means the omitted-count total is not guaranteed complete","partial_when_capped":"PARTIAL can be the expected truthful state when the 40-holding cap is reached; it does not necessarily mean the request failed"},"evidence":"Paid JSON includes source/evidence arrays and limitations. returned_holding_count is at most 40. overflow_holding_count>0 means omitted holdings exist. overflow_count_complete=false means the omitted-count total is not guaranteed complete. status=PARTIAL can be expected when the discovery cap is reached. Successful settlement also returns PAYMENT-RESPONSE. No inventory or DexScreener calls before payment.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/portfolio-preflight/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations.","when_to_call":"Call when you need currently observed Aave V3 supply APR and/or Lido staking APR for one supported Ethereum or Base asset. Factual snapshot only — not a ranking, recommendation, or complete map of DeFi.","operationId":"postVm04ProductiveVenueSnapshot","method":"POST","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","request_content_type":"application/json","input_schema":{"type":"object","required":["chain_id","asset"],"additionalProperties":false,"properties":{"chain_id":{"type":"integer","enum":[1,8453],"description":"Ethereum 1 or Base 8453 only."},"asset":{"type":"object","description":"native, erc20, or allowlisted symbol asset object","additionalProperties":false,"required":["kind"],"properties":{"kind":{"type":"string","enum":["native","erc20","symbol"]},"address":{"type":"string","description":"Required for erc20. Exact nonzero 20-byte EVM address."},"symbol":{"type":"string","description":"Required for kind=symbol. Allowlist ETH, WETH, USDC, stETH, wstETH. Chain-specific."}}},"venue_types":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","enum":["lending","liquid_staking"]}},"protocols":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","enum":["aave_v3","lido"]}},"sort":{"type":"string","enum":["protocol","rate_desc","rate_asc"],"description":"Objective sort only. rate_* uses primary_apr. Null rates sort last. Not a recommendation."},"limit":{"type":"integer","minimum":1,"maximum":20,"description":"Default 20. Applied after filters and sort."}}},"input_example":{"chain_id":1,"asset":{"kind":"native"}},"unsupported":["chain_id values other than 1 and 8453","symbols outside ETH, WETH, USDC, stETH, wstETH","additional JSON fields","ranking or investment recommendation","wallet connection or transaction construction","venues outside the frozen Aave V3 + Lido protocol set"],"allowlists":{"chain_id":[1,8453],"asset_kind":["native","erc20","symbol"],"symbols":["ETH","WETH","USDC","stETH","wstETH"],"venue_types":["lending","liquid_staking"],"protocols":["aave_v3","lido"],"sort":["protocol","rate_desc","rate_asc"],"protocol_set_version":"aave-v3-lido-eth-base-2026-08-22-v1"},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/ProductiveVenueResponse","output_example":{"status":"OK","classification":"OBSERVED_COMPLETE","machine":"VM04","methodology_version":"productive-venue-0.2.0","protocol_set_version":"aave-v3-lido-eth-base-2026-08-22-v1","chain_id":1,"asset":{"kind":"native"},"request":{"chain_id":1,"asset":{"kind":"native"},"venue_types":null,"protocols":null,"sort":"protocol","limit":20},"resolved":{"chain_id":1,"asset":{"kind":"native"},"symbol":"ETH"},"sort":{"order":"protocol","field":"protocol","label":"objective_sort_not_a_recommendation"},"result_count":0,"truncated":false,"omissions":[],"retrieved_at":"2026-08-22T00:00:00.000Z","block_number":"1","cached":false,"observation_age_ms":0,"venues":[],"limitations":["This is a factual snapshot of supported protocol state. It is not investment advice, not a recommendation, and not a complete map of DeFi."],"errors":[],"evidence":[]},"methodology_version":"productive-venue-0.2.0","freshness":"Venues are observed at retrieved_at. An optional 60s in-process cache may apply. The free captured sample is not a current paid observation.","limits":{"connect_timeout_ms":5000,"response_timeout_ms":8000,"cache_ttl_ms":60000,"protocol_set_version":"aave-v3-lido-eth-base-2026-08-22-v1","max_limit":20},"evidence":"Paid JSON includes evidence, omissions, explicit APR/APY labels, and limitations. Successful settlement also returns PAYMENT-RESPONSE. No Aave, Lido, or RPC work before payment.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/productive-venue-snapshot/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches.","when_to_call":"Call when you need a point-in-time factual observation of whether one x402 resource appears in Coinbase Bazaar merchant discovery and where it sits in the first 20 results for 1–3 buyer-supplied job-language searches. Not a trust score, SEO score, rank beyond the observed top 20, or remediation recommendation.","operationId":"postVm05BazaarVisibilitySnapshot","method":"POST","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","request_content_type":"application/json","input_schema":{"type":"object","required":["resource","pay_to","queries"],"additionalProperties":false,"properties":{"resource":{"type":"string","format":"uri","description":"Exactly one absolute HTTPS x402 resource URL identifier. Treated as an identifier only; never fetched or proxied. Fragments, credentials, non-HTTPS, and non-443 ports are rejected."},"pay_to":{"type":"string","description":"Merchant payTo address. 0x-prefixed 20-byte EVM address."},"queries":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","minLength":2,"maxLength":400,"description":"Buyer-job search string. Coinbase search maximum is 400 characters."},"description":"1 to 3 buyer-supplied job-language searches. No hidden default query."}}},"input_example":{"resource":"https://api.example.com/v1/paid","pay_to":"0x0000000000000000000000000000000000000001","queries":["example paid json api"]},"unsupported":["fetching or proxying the submitted resource","non-HTTPS resource identifiers","fragments or credentials in the resource URL","more than 3 search queries","hidden/default synthetic queries","trust, quality, SEO, or remediation scores","filtering semantic search by payTo or urlSubstring"],"allowlists":{"scheme":["https"],"port":[443],"fields":["resource","pay_to","queries"],"discovery_host":["api.cdp.coinbase.com"],"discovery_paths":["/platform/v2/x402/discovery/merchant","/platform/v2/x402/discovery/search"],"max_queries":3,"merchant_page":{"limit":20,"offset":0},"search_limit":20},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/BazaarVisibilityResponse","output_example":{"status":"OK","machine":"VM05","methodology_version":"bazaar-visibility-0.1.0","checked_at":"2026-08-28T00:00:00.000Z","resource":"https://api.example.com/v1/paid","pay_to":"0x0000000000000000000000000000000000000001","merchant":{"presence":"FOUND","pagination":{"limit":20,"offset":0,"total":1,"returned":1},"match":{"resource":"https://api.example.com/v1/paid","type":"http","x402_version":2,"description":"Example paid resource","last_updated":"2026-08-28T00:00:00.000Z","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","pay_to":"0x0000000000000000000000000000000000000001","max_timeout_seconds":60}],"extensions_summary":{"names":["bazaar"],"bazaar_info_present":true,"bazaar_schema_present":true},"quality":{"l30_days_total_calls":3,"l30_days_unique_payers":2,"last_called_at":"2026-08-28T00:00:00.000Z"},"service_name":"Example API","tags":["example"],"icon_url":null,"curated":null,"skill_url":null},"retrieved_at":"2026-08-28T00:00:00.000Z","provider":{"host":"api.cdp.coinbase.com","path":"/platform/v2/x402/discovery/merchant","method":"GET"},"error":null},"searches":[{"query":"example paid json api","visibility":"IN_TOP_20","position":1,"returned_count":1,"search_method":"hybrid","partial_results":false,"retrieved_at":"2026-08-28T00:00:00.000Z","provider":{"host":"api.cdp.coinbase.com","path":"/platform/v2/x402/discovery/search","method":"GET"},"error":null}],"evidence":{"provider":"coinbase-cdp-bazaar-discovery","origin":"https://api.cdp.coinbase.com","path_prefix":"/platform/v2/x402/discovery/","outbound_requests":2,"merchant_requests":1,"search_requests":1,"auth_header_sent":false,"submitted_resource_fetched":false,"url_equality":"https host-lowercase default-port-443 pathname+search exact; fragments and userinfo rejected; query-string order is significant"},"limitations":["This is a point-in-time Coinbase Bazaar observation, not proof of future visibility.","Coinbase search ranking formula is external and may change.","Observed position is only within the returned top 20.","partialResults=true means additional results may exist beyond the returned page.","Merchant pagination is intentionally bounded to one page (limit=20, offset=0).","quality, call, and payer fields are Coinbase-reported observations, not Agent Mercantile verification of buyer independence.","No resource endpoint was fetched or functionally tested.","No recommendation, remediation, trust, quality, or SEO score is produced."]},"methodology_version":"bazaar-visibility-0.1.0","freshness":"Merchant and search observations are retrieved after payment at checked_at. This is a point-in-time Bazaar observation, not a continuously updated index.","limits":{"max_queries":3,"max_query_chars":400,"merchant_limit":20,"search_limit":20,"max_outbound_requests":4,"connect_timeout_ms":5000,"response_timeout_ms":8000,"overall_timeout_ms":20000,"max_response_bytes":262144,"max_json_depth":32,"max_object_keys":64,"max_array_length":64,"max_json_nodes":20000},"evidence":"Paid JSON includes merchant presence, search positions, provider identity, and limitations. Successful settlement also returns PAYMENT-RESPONSE. No Coinbase discovery request before payment. The submitted resource is never fetched.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/bazaar-visibility-snapshot/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied.","when_to_call":"Call when you need point-in-time gas units and recent execution-fee context before signing or submitting an Ethereum or Base transaction. Not transaction execution, signing, wallet/custody, trading, approval, simulation-as-guarantee, or financial advice.","operationId":"postVm06TransactionGasPreflight","method":"POST","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","request_content_type":"application/json","input_schema":{"type":"object","required":["chain","to"],"additionalProperties":false,"properties":{"chain":{"type":"string","enum":["eip155:1","eip155:8453"],"description":"Analysis chain only. Payment remains Base eip155:8453."},"to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Required 0x-prefixed 20-byte destination. Contract creation is not supported."},"from":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Optional 0x-prefixed 20-byte sender used only as an eth_estimateGas field. No ownership is implied."},"data":{"type":"string","pattern":"^0x(?:[0-9a-fA-F]{2})*$","maxLength":16386,"description":"Optional 0x-prefixed even-length hex calldata. Default 0x. Maximum 8192 bytes. Request body maximum 20480 bytes."},"value_wei":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","description":"Optional unsigned base-10 integer string in the uint256 range. Default 0. JSON Schema cannot express the full uint256 upper bound; runtime validation rejects values above 2^256-1."}}},"input_example":{"chain":"eip155:8453","to":"0x0000000000000000000000000000000000000001","data":"0x","value_wei":"0"},"unsupported":["transaction execution or submission","signing, keys, seeds, or raw signed transactions","nonce, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas","accessList or stateOverride","arbitrary RPC URL or host","contract creation without to","chains other than eip155:1 and eip155:8453","max-fee recommendation or guaranteed final cost"],"allowlists":{"chains":["eip155:1","eip155:8453"],"fields":["chain","to","from","data","value_wei"],"rpc_methods":["eth_estimateGas","eth_feeHistory"],"rpc_hosts":["eth-mainnet.g.alchemy.com","base-mainnet.g.alchemy.com"],"estimate_tx_fields":["to","from","data","value"],"fee_history":{"block_count":5,"block_count_wire":"0x5","newest":"latest","reward_percentiles":[10,50,90]}},"price":"$0.005","price_atomic":5000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/TransactionGasResponse","output_example":{"status":"OK","machine":"VM06","methodology_version":"transaction-gas-preflight-0.1.0","checked_at":"2026-08-29T00:00:00.000Z","chain":{"caip2":"eip155:8453","chain_id":8453,"name":"base"},"request_shape":{"has_from":false,"calldata_bytes":0,"value_nonzero":false},"gas_estimate":{"gas_units":"21000"},"fee_history":{"block_count":5,"newest_block":"latest","reward_percentiles":[10,50,90],"oldest_block":"0x1","base_fee_per_gas":["100","110","120","130","140"],"gas_used_ratio":["0.1","0.2","0.3","0.4","0.5"],"priority_fee_rewards":[["1","2","3"],["1","2","3"],["1","2","3"],["1","2","3"],["1","2","3"]]},"illustrative_execution_fees":{"kind":"illustrative_execution_fee_observations","recommendation":false,"guaranteed_final_cost":false,"covers":"l2_execution_fee_only","l1_security_or_data_fee_included":false,"labeled_as_total_transaction_cost":false,"scenarios":[{"label":"recent_base_plus_p50_priority","base_fee_per_gas_wei":"140","priority_fee_per_gas_wei":"2","execution_fee_wei":"2982000","execution_fee_eth":"0.000000000002982"}]},"provider":{"name":"alchemy","host":"base-mainnet.g.alchemy.com","methods":["eth_estimateGas","eth_feeHistory"],"url":"https://base-mainnet.g.alchemy.com","credential_material":false},"limitations":["This is a point-in-time gas-estimation and fee-history observation, not a guaranteed final cost.","Base results cover L2 execution-fee evidence only and do not include the separate Base L1 security/data fee.","VM06 Base arithmetic is not a total transaction cost."]},"methodology_version":"transaction-gas-preflight-0.1.0","freshness":"Gas units and fee-history observations are retrieved after payment at checked_at. This is a point-in-time observation, not a guaranteed inclusion cost.","limits":{"max_request_bytes":20480,"max_calldata_bytes":8192,"max_rpc_methods":2,"connect_timeout_ms":5000,"response_timeout_ms":8000},"evidence":"Paid JSON includes gas units, bounded fee-history observations, illustrative execution-fee arithmetic, provider identity without credentials, and limitations. Successful settlement also returns PAYMENT-RESPONSE. No Alchemy call before payment.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/transaction-gas-preflight/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline.","when_to_call":"Call when you need webpage change detection, URL change, page freshness, documentation monitoring, pricing-page monitoring, or policy-page monitoring of one public HTTPS page. Not continuous monitoring, alerts, webhooks, semantic importance detection, AI summaries, or site-wide crawling.","operationId":"postVm07WebChangeSnapshot","method":"POST","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","request_content_type":"application/json","input_schema":{"type":"object","required":["url"],"additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","description":"One absolute public HTTPS URL on port 443. No credentials in the URL. http, non-443 ports, and private/non-public targets are rejected without fetch."},"baseline":{"type":"object","additionalProperties":false,"required":["methodology_version","page_sha256","components","content_truncated","extraction_complete"],"description":"Optional caller-held compact comparison evidence. Hashes and completeness/methodology fields only. Never resend the previous webpage body.","properties":{"methodology_version":{"type":"string"},"page_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"components":{"type":"object","additionalProperties":false,"required":["final_url","http","metadata","outline","content","structured_data"],"properties":{"final_url":{"type":"string","pattern":"^[0-9a-f]{64}$"},"http":{"type":"string","pattern":"^[0-9a-f]{64}$"},"metadata":{"type":"string","pattern":"^[0-9a-f]{64}$"},"outline":{"type":"string","pattern":"^[0-9a-f]{64}$"},"content":{"type":"string","pattern":"^[0-9a-f]{64}$"},"structured_data":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"content_truncated":{"type":"boolean"},"extraction_complete":{"type":"boolean"}}}}},"input_example":{"url":"https://example.com/"},"unsupported":["http URLs","non-443 ports","credentials in the URL","private/non-public targets","resending the previous webpage body","continuous monitoring or alerts","webhooks","semantic importance detection","AI summaries","site-wide crawls","browser/headless rendering","LLM comparison"],"allowlists":{"scheme":["https"],"port":[443],"fields":["url","baseline"],"reuse":["VM01 URL Context fetch, SSRF, extract"]},"price":"$0.005","price_atomic":5000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/WebChangeSnapshotResponse","output_example":{"status":"OK","machine":"VM07","methodology_version":"web-change-snapshot-0.1.0","checked_at":"2026-09-10T00:00:00.000Z","requested_url":"https://example.com/","final_url":"https://example.com/","http":{"status":200,"content_type":"text/html; charset=UTF-8","redirect_count":0},"comparison_status":"BASELINE","comparison_scope":"Comparison covers the bounded normalized representation observed by VM07, not the entire website or entire webpage.","changed_components":[],"baseline":{"methodology_version":"web-change-snapshot-0.1.0","page_sha256":"34226d50aa7881c384ac5dd0ec9b237714a99bcd3bba151fd98edc443221922a","components":{"final_url":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","http":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","metadata":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd","outline":"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","content":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","structured_data":"1111111111111111111111111111111111111111111111111111111111111111"},"content_truncated":false,"extraction_complete":true},"metadata":{"title":"Example Domain","description":null,"canonical":"https://example.com/"},"outline":[{"level":1,"text":"Example Domain"}],"structured_data":{"json_ld_types":[]},"extraction":{"basis":"body-heuristic","characters":155,"truncated":false,"complete":true},"completeness":{"content_truncated":false,"extraction_complete":true,"product_status":"OK"},"limitations":["Comparison covers the bounded normalized representation observed by VM07, not the entire website or entire webpage."]},"methodology_version":"web-change-snapshot-0.1.0","freshness":"Result is from one fetch at checked_at. Comparison covers the bounded normalized representation observed by VM07, not the entire website or webpage. Caller holds the baseline.","limits":{"max_request_bytes":8192,"sha256_hex_chars":64,"max_redirects":3,"max_outbound_requests":4,"max_response_bytes":262144,"max_text_chars":8000},"evidence":"Paid JSON includes component fingerprints, comparison_status, a reusable current baseline, metadata, heading outline, JSON-LD types, completeness, and limitations. Successful settlement also returns PAYMENT-RESPONSE. No page fetch before payment except VM01 structural URL-policy checks. Settlement ledger and Buyer Intelligence do not store the raw webpage body.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/web-change-snapshot/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed.","when_to_call":"Call when you need to re-qualify a previously accepted x402 payment contract using a caller-held baseline. Not an uptime monitor, 30-day watcher, webhook, trust score, or marketplace crawler.","operationId":"postVm08X402ServiceChangeSnapshot","method":"POST","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","request_content_type":"application/json","input_schema":{"type":"object","required":["resource_url","method"],"additionalProperties":false,"properties":{"resource_url":{"type":"string","format":"uri","description":"One absolute public HTTPS x402 resource URL on port 443. VM08 probes this URL once after payment using the caller-supplied method."},"method":{"type":"string","enum":["GET","POST"],"description":"HTTP method for the unpaid 402 probe. Required. Discovery listings cannot invent this method. x402 does not imply every paid resource is POST."},"body":{"type":"object","description":"Optional JSON object for POST probes only. Omitted POST body is sent as {}. GET probes must not include body. No custom headers or credentials."},"baseline":{"type":"object","description":"Optional caller-held reusable payment-contract baseline from a previous VM08 OK observation. Bound to method, URL, and POST body fingerprint."},"price_policy":{"type":"object","additionalProperties":false,"properties":{"modest_increase_bps":{"type":"integer"},"max_increase_bps":{"type":"integer"}}},"discovery":{"type":"object","description":"Optional caller-supplied discovery/catalog listing. Not fetched by VM08 and not used to choose method."}}},"input_example":{"resource_url":"https://api.agentmercantile.com/v1/url-context","method":"POST"},"unsupported":["http URLs","non-443 ports","credentials in the URL","private/non-public targets","paying the observed target","Bazaar crawling","continuous monitoring or alerts","webhooks","generic trust scores","storing a monitoring history"],"allowlists":{"scheme":["https"],"port":[443],"fields":["resource_url","method","body","baseline","price_policy","discovery"]},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/X402ServiceChangeResponse","output_example":{"status":"OK","machine":"VM08","methodology_version":"x402-service-change-snapshot-0.1.0","candidate_id":"VM08-CANDIDATE","decision":"BASELINE_CREATED","observation_kind":"first","material_change_classes":["BASELINE_CREATED"],"checked_at":"2026-09-18T00:00:00.000Z","requested_resource":"https://api.agentmercantile.com/v1/url-context","probe":{"method":"POST","resource_url":"https://api.agentmercantile.com/v1/url-context","body_sha256":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a"},"reason":"BASELINE_CREATED:BASELINE_CREATED","recommended_action":"Initial qualification only. Hold this reusable baseline. This result is not a comparison against a previously accepted payment contract.","baseline":{"reusable":true,"methodology_version":"x402-service-change-snapshot-0.1.0","provenance":"direct_service","observed_at":"2026-09-18T00:00:00.000Z"},"limitations":["Caller holds the baseline. Agent Mercantile does not store a monitoring history for this resource."]},"methodology_version":"x402-service-change-snapshot-0.1.0","freshness":"Result is from one unpaid caller-supplied GET or POST 402 probe at checked_at. Direct-service challenge is payment authority. Caller holds the baseline, which is bound to that request identity.","limits":{"max_request_bytes":32768,"max_outbound_requests":4,"max_response_bytes":262144},"evidence":"Paid JSON includes decision, material change classes, direct-vs-discovery provenance, baseline quality, contract fingerprint, and a reusable baseline only when the current direct observation is complete. Successful settlement also returns PAYMENT-RESPONSE. No 402 probe before payment except structural URL-policy checks.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/x402-service-change-snapshot/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution.","when_to_call":"Call when a planner keeps wallet/signing authority separate and needs one canonical unpaid-402 + coverage packet for an EIP-3009 exact Base USDC requirement. Not a wallet, not a recommendation, not a target payment. Does not qualify non-eip3009 transfer methods.","operationId":"postVm09X402PresignHandoff","method":"POST","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","request_content_type":"application/json","input_schema":{"type":"object","required":["resource_url","method","payer_address","max_amount_atomic","allowed_pay_to"],"additionalProperties":false,"properties":{"resource_url":{"type":"string","format":"uri","description":"One absolute public HTTPS x402 resource URL on port 443. Probed unpaid after AM payment."},"method":{"type":"string","enum":["GET","POST"],"description":"HTTP method for the unpaid target 402 probe. Required."},"body":{"type":"object","description":"Optional JSON object for POST probes only. No custom headers or credentials."},"payer_address":{"type":"string","description":"Public EVM address whose Base USDC balanceOf is read after AM payment."},"max_amount_atomic":{"type":"string","description":"Caller maximum atomic USDC amount. Non-negative integer string."},"allowed_pay_to":{"type":"array","items":{"type":"string"},"description":"Non-empty bounded list of caller-approved payTo addresses."},"baseline":{"type":"object","description":"Optional caller-held compact baseline: request identity plus scheme/network/asset/amount/payTo."}}},"input_example":{"resource_url":"https://api.agentmercantile.com/v1/url-context","method":"POST","payer_address":"0x1111111111111111111111111111111111111111","max_amount_atomic":"20000","allowed_pay_to":["0xdb7b2b54f80479826222749a2ea73a8acc306e1e"]},"unsupported":["http URLs","non-443 ports","credentials in the URL","paying the observed target","signing or custody","transaction construction","upto/escrow/Solana","Permit2 / ERC-7710 / unknown assetTransferMethod","Permit2 allowance or other payment-authority reads","arbitrary chains or tokens","webhooks or continuous monitoring","trust or reputation scores"],"allowlists":{"scheme":["https"],"port":[443],"fields":["resource_url","method","body","payer_address","max_amount_atomic","allowed_pay_to","baseline"]},"price":"$0.01","price_atomic":10000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/X402PresignHandoffResponse","output_example":{"status":"OK","machine":"VM09","methodology_version":"x402-presign-handoff-0.1.0","decision":"READY","observed_at":"2026-09-18T00:00:00.000Z","expires_at":"2026-09-18T00:01:00.000Z","signing":false,"payment_execution":false,"transaction_construction":false,"custody":false,"recommendation":false,"reason_codes":["DIRECT_CONTRACT_COMPLETE","SUPPORTED_TRANSFER_METHOD","WITHIN_CALLER_LIMIT","BALANCE_SUFFICIENT"],"selected_requirement":{"index":0,"scheme":"exact","network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount_atomic":"10000","pay_to":"0xdb7b2b54f80479826222749a2ea73a8acc306e1e","max_timeout_seconds":60,"asset_transfer_method":"eip3009"},"direct_resource_url":"https://api.agentmercantile.com/v1/url-context","resource_identity_match":true},"methodology_version":"x402-presign-handoff-0.1.0","freshness":"Packet is valid for 60 seconds from observed_at. READY is observation-time evidence only. Downstream signer must still verify identity, freshness, selected vs intended payment including asset_transfer_method, and handoff_sha256.","limits":{"max_request_bytes":32768,"max_outbound_requests":4,"max_response_bytes":262144,"freshness_ms":60000},"evidence":"Paid JSON includes decision, selected requirement (including resolved asset_transfer_method), public payer Base-USDC balance, caller ceiling, optional baseline evidence, direct_resource_url, resource_identity_match, direct_contract_sha256, and handoff_sha256 as an integrity identifier. Challenge resource must match the exact unpaid probe URL. Redirects fail closed. VM09 V1 qualifies eip3009 only; omitted extra.assetTransferMethod defaults to eip3009. Permit2, ERC-7710, unknown, and incomplete transfer methods fail closed. No Permit2 allowance read. No target probe or RPC before AM payment. No target payment.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/x402-presign-handoff/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed.","when_to_call":"Call when a planner needs a read-only authority snapshot before considering an approval or payment. Not a wallet, not a gas estimator, not a recommendation, not a target payment.","operationId":"postVm10PaymentAuthoritySnapshot","method":"POST","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","request_content_type":"application/json","input_schema":{"type":"object","required":["resource_url","method","payer_address"],"additionalProperties":false,"properties":{"resource_url":{"type":"string","format":"uri","description":"One absolute public HTTPS x402 resource URL on port 443. Probed unpaid after AM payment."},"method":{"type":"string","enum":["GET","POST"],"description":"HTTP method for the unpaid target 402 probe."},"body":{"type":"object","description":"Optional JSON object for POST probes only. No custom headers or credentials."},"payer_address":{"type":"string","description":"Public EVM payer whose token balance and canonical spender allowance are read after AM payment."},"baseline":{"type":"object","description":"Optional caller-held compact VM10 authority baseline. Must include baseline_sha256 over the compact fields; tampered or foreign-methodology baselines are rejected before payment advertisement."}}},"input_example":{"resource_url":"https://api.agentmercantile.com/v1/url-context","method":"POST","payer_address":"0x1111111111111111111111111111111111111111"},"unsupported":["http URLs","non-443 ports","credentials in the URL","caller-supplied RPC URL","caller-supplied spender","paying the observed target","signing or custody","approval mutation","transaction construction","native-gas sufficiency judgment","trust or reputation scores"],"allowlists":{"scheme":["https"],"port":[443],"fields":["resource_url","method","body","payer_address","baseline"]},"price":"$0.005","price_atomic":5000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/PaymentAuthoritySnapshotResponse","output_example":{"status":"OK","machine":"VM10","methodology_version":"payment-authority-snapshot-0.1.0","state":"READY_EXISTING","signing":false,"payment_execution":false,"transaction_construction":false,"approval_mutation":false,"custody":false,"recommendation":false,"gas_sufficiency_judgment":false},"methodology_version":"payment-authority-snapshot-0.1.0","freshness":"Observation-time evidence at observed_at / evidence_block_number. READY_EXISTING is not authorization to pay. Native gas is not judged.","limits":{"max_request_bytes":32768,"max_outbound_requests":4,"max_response_bytes":262144},"evidence":"Paid JSON includes state, selected requirement including asset_transfer_method, same-block token balance, canonical token-spender allowance when that path applies, declared recovery-path classification, identities for payer/merchant/canonical spender/signed proxy/facilitator, optional baseline material changes, and snapshot_sha256. No target probe or RPC before AM payment. No target payment.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/payment-authority-snapshot/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison."}]},{"machine":"VM11","family":"AGENT_COMMERCE","name":"Bazaar Visibility Change Snapshot","purpose":"Tell an x402 seller what materially changed in Coinbase Bazaar discovery visibility since a caller-held known-good observation: merchant presence, discovery metadata, schema metadata, visible payment fields, and per-query position inside the observed search window. VM05 remains the point-in-time snapshot. VM08 remains the direct x402 payment-contract comparison.","when_to_call":"Call when you need a deterministic comparison of one resource's Coinbase Bazaar discovery visibility against a caller-held baseline for 1–3 buyer-job searches. Not a generic Bazaar search, not a replacement for VM05, and not a VM08 direct-contract probe.","operationId":"postVm11BazaarVisibilityChange","method":"POST","path":"/v1/bazaar-visibility-change","resource":"https://api.agentmercantile.com/v1/bazaar-visibility-change","request_content_type":"application/json","input_schema":{"type":"object","required":["resource","pay_to","queries"],"additionalProperties":false,"properties":{"resource":{"type":"string","format":"uri","description":"Exactly one absolute HTTPS x402 resource URL identifier. Treated as an identifier only; never fetched. Fragments, credentials, non-HTTPS, and non-443 ports are rejected."},"pay_to":{"type":"string","description":"Merchant payTo address. 0x-prefixed 20-byte EVM address."},"queries":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","minLength":2,"maxLength":400},"description":"1 to 3 caller-selected buyer-job search strings. Whitespace is collapsed and the set is ordered lexicographically. Duplicate normalized queries are rejected. No hidden default query."},"baseline":{"type":"object","description":"Optional caller-held sealed VM11 baseline. Must bind resource, pay_to, normalized queries, methodology, observation, and baseline_sha256. Tampered or identity-mismatched baselines are rejected before payment advertisement. Not stored server-side."}}},"input_example":{"resource":"https://api.example.com/v1/paid","pay_to":"0x0000000000000000000000000000000000000001","queries":["example paid json api"]},"unsupported":["fetching or proxying the submitted resource","direct x402 payment-contract probing","non-HTTPS resource identifiers","fragments or credentials in the resource URL","arbitrary credentials or headers","more than 3 search queries","hidden or default search queries","duplicate normalized queries","server-side watch schedules or account registration","global rank, traffic, demand, conversion, quality, trust, or SEO scores","remediation instructions"],"allowlists":{"scheme":["https"],"port":[443],"fields":["resource","pay_to","queries","baseline"],"discovery_host":["api.cdp.coinbase.com"],"discovery_paths":["/platform/v2/x402/discovery/merchant","/platform/v2/x402/discovery/search"],"max_queries":3,"query_order":"lexicographic after whitespace collapse","merchant_page":{"limit":20,"offset":0},"search_limit":20,"related_machines":["VM05","VM08"]},"price":"$0.005","price_atomic":5000,"payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","note":"x402 v2 exact on Base USDC. A syntactically valid unpaid POST returns HTTP 402. Malformed or unsupported input returns HTTP 400 HOLD without a payable contract. Provider work occurs only after payment."},"output_schema_ref":"https://api.agentmercantile.com/openapi.json#/components/schemas/BazaarVisibilityChangeResponse","output_example":{"status":"OK","decision":"BASELINE_CREATED","machine":"VM11","methodology_version":"bazaar-visibility-change-0.1.0","checked_at":"2026-10-01T00:00:00.000Z","resource":"https://api.example.com/v1/paid","pay_to":"0x0000000000000000000000000000000000000001","queries":["example paid json api"],"comparison_performed":false,"material_change_classes":[],"deltas":[],"hold_reason":null,"current_baseline":{"methodology_version":"bazaar-visibility-change-0.1.0","resource":"https://api.example.com/v1/paid","pay_to":"0x0000000000000000000000000000000000000001","queries":["example paid json api"],"search_window":20,"merchant_page_limit":20,"merchant_page_offset":0,"observation":{"merchant_presence":"FOUND","merchant_note":null,"metadata":{"service_name":"Example Paid API","description":"Bounded JSON for one buyer job","tags":["json"],"curated":false,"icon_url":null,"skill_url":null},"schema_discovery":{"type":"http","x402_version":2,"extension_names":["bazaar"],"bazaar_info_present":true,"bazaar_schema_present":true},"payment":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount":"10000","pay_to":"0x0000000000000000000000000000000000000001","max_timeout_seconds":60}],"searches":[{"query":"example paid json api","visibility":"IN_TOP_20","position":3,"window_note":null}]},"observation_sha256":"3523d15ece3c8d136ed9ba4fca6d45806c12c5116094c006d6e7cd2ecb73a508","observed_at":"2026-10-01T00:00:00.000Z","reusable":true,"observation_complete":true,"baseline_sha256":"245e3845a03a4f6fa5a9cc2a4b628b9571a6e1c992f88f3007331d03275f8565"},"direct_x402_probe":false,"server_baseline_stored":false},"methodology_version":"bazaar-visibility-change-0.1.0","freshness":"Merchant and search observations are retrieved after payment at checked_at. The caller holds the sealed baseline. Absence inside the search window is not observed in the first 20 results, not a global-rank or removal claim.","limits":{"max_request_bytes":16384,"max_queries":3,"merchant_limit":20,"search_limit":20,"max_outbound_requests":4,"provider_call_budget":"1 merchant GET plus 1 search GET per normalized query, maximum 4","sha256_hex_chars":64},"evidence":"Paid JSON includes decision, factual deltas, a caller-held sealed baseline when the observation is complete, provider counts, and limitations. Successful settlement also returns PAYMENT-RESPONSE. No Coinbase discovery request before payment. The submitted resource is never fetched and the direct x402 contract is not probed.","health":"https://api.agentmercantile.com/health","docs":"https://agentmercantile.com/developers/","storefront":"https://agentmercantile.com/machines/bazaar-visibility-change/","related":[{"machine":"VM01","family":"WEB_INTELLIGENCE","name":"URL Context Pack","path":"/v1/url-context","resource":"https://api.agentmercantile.com/v1/url-context","purpose":"Fetch one public HTTPS webpage into deterministic structured JSON context: canonical URL, title/description, headings, main text, JSON-LD types, freshness observations, size, evidence, and limitations."},{"machine":"VM02","family":"ONCHAIN_PREFLIGHT","name":"Allowance Exposure Preflight","path":"/v1/allowance-exposure","resource":"https://api.agentmercantile.com/v1/allowance-exposure","purpose":"Read one Base ERC-20 owner/token/spender direct allowance at one block, compare it with the owner's current token balance, and return factual exposure flags including max-uint256 and effectively-unlimited approvals."},{"machine":"VM03","family":"ONCHAIN_PREFLIGHT","name":"Portfolio Preflight","path":"/v1/portfolio-preflight","resource":"https://api.agentmercantile.com/v1/portfolio-preflight","purpose":"Return a bounded Ethereum/Base discovery snapshot of at most 40 holdings, plus overflow_holding_count, overflow_count_complete, and a pre-action evidence-readiness summary. Not complete portfolio enumeration."},{"machine":"VM04","family":"ONCHAIN_PREFLIGHT","name":"Productive Venue Snapshot","path":"/v1/productive-venue-snapshot","resource":"https://api.agentmercantile.com/v1/productive-venue-snapshot","purpose":"Observe currently factual Aave V3 lending supply APR and Lido staking APR for one supported Ethereum or Base asset from a frozen protocol set, with timestamps, evidence, explicit rate labels, optional filters/sort, and limitations."},{"machine":"VM05","family":"AGENT_COMMERCE","name":"Bazaar Visibility Snapshot","path":"/v1/bazaar-visibility","resource":"https://api.agentmercantile.com/v1/bazaar-visibility","purpose":"Observe, for one x402 seller resource, whether Coinbase Bazaar merchant discovery currently lists that exact resource, what public Bazaar metadata describes it, and where (if anywhere) it appears in the first 20 results for 1–3 buyer-supplied job-language searches."},{"machine":"VM06","family":"ONCHAIN_PREFLIGHT","name":"Transaction Gas Preflight","path":"/v1/transaction-gas-preflight","resource":"https://api.agentmercantile.com/v1/transaction-gas-preflight","purpose":"Before an agent signs or submits an Ethereum or Base transaction, return bounded factual eth_estimateGas units and recent eth_feeHistory execution-fee evidence for the exact unsigned transaction facts supplied."},{"machine":"VM07","family":"WEB_INTELLIGENCE","name":"Web Change Snapshot","path":"/v1/web-change-snapshot","resource":"https://api.agentmercantile.com/v1/web-change-snapshot","purpose":"Let an AI agent cheaply determine whether the bounded normalized representation of one public HTTPS webpage has changed since a caller-held previous baseline."},{"machine":"VM08","family":"AGENT_COMMERCE","name":"x402 Service Change Snapshot","path":"/v1/x402-service-change-snapshot","resource":"https://api.agentmercantile.com/v1/x402-service-change-snapshot","purpose":"Given what a buyer previously accepted about an x402 service, determine whether the live payment contract is still equivalent enough to proceed."},{"machine":"VM09","family":"AGENT_COMMERCE","name":"x402 Pre-Sign Handoff Packet","path":"/v1/x402-presign-handoff","resource":"https://api.agentmercantile.com/v1/x402-presign-handoff","purpose":"Given one exact intended x402 request, a public payer, and caller constraints, produce a normalized pre-sign evidence packet a separate signer can verify before protected payment execution."},{"machine":"VM10","family":"AGENT_COMMERCE","name":"Payment Authority Snapshot","path":"/v1/payment-authority-snapshot","resource":"https://api.agentmercantile.com/v1/payment-authority-snapshot","purpose":"Given the exact current x402 payment requirement, this public payer, and an optional caller-held prior authority baseline, report what payment authority exists now, what authority path is required, and whether that authority materially changed."}]}],"rediscovery":"related[] lists the other first-party Agent Mercantile machines. It is a sibling index for rediscovery, not a recommendation, ranking, or personalized suggestion. family is the founder-approved primary machine family derived from machine ID.","openapi":"https://api.agentmercantile.com/openapi.json","documentation":"https://agentmercantile.com/developers/","health":"https://api.agentmercantile.com/health","sample":"https://api.agentmercantile.com/samples/productive-venue-snapshot","sample_path":"/samples/productive-venue-snapshot","status":"https://agentmercantile.com/status/","llms":"https://api.agentmercantile.com/llms.txt","human_sample":"https://agentmercantile.com/samples/productive-venue-snapshot/"}