{"document":"jithox-x402-agent-quickstart","documentVersion":"2026-08-04.1","audience":"an autonomous agent that wants to pay for a Jithox capability without a human in the loop","whatYouNeed":{"baseMainnetWalletWithNativeUsdc":true,"ethForGas":false,"jithoxAccount":false,"jithoxWorkspace":false,"prepaidJithoxBalance":false,"jithoxApiKey":false,"note":"The facilitator submits the settlement transaction and pays the gas. Your wallet holds native USDC on Base mainnet and signs; it never needs ETH."},"transport":{"paidResource":"HTTP POST with a JSON body, JSON response","capabilitiesAre":"semantically MCP tools — the same contracts the OAuth MCP endpoint serves","x402ResourceIsNotAnMcpTransport":true,"note":"The x402-priced resource is an HTTP endpoint. It is not an MCP transport: do not point an MCP client at it. The MCP endpoint is a separate, OAuth-authenticated surface."},"priceRule":{"readThePriceFrom":"the PAYMENT-REQUIRED challenge","neverHardcodeAPublishedPrice":true,"note":"The published index is the number to CHECK the challenge against, never the number to pay. Refuse an offer that exceeds it; do not assume it will always be the offer."},"payment":{"standard":"x402 v2","scheme":"exact","authorization":"EIP-3009 transferWithAuthorization","requestHeader":"PAYMENT-SIGNATURE","challengeHeader":"PAYMENT-REQUIRED","responseHeader":"PAYMENT-RESPONSE","note":"The PAYMENT protocol is the public x402 v2 standard. The Jithox product index around it is a Jithox convention, not an x402 specification."},"free":["the canonical product index","this quickstart, in HTML and JSON","the launch status document","every product's discovery, status, health and readiness route","any call that does not produce an accepted chargeable outcome"],"billing":"Billed only for an accepted chargeable domain outcome. Unknown tools, malformed requests, schema rejections, invalid arguments, failed verification, provider unavailability, timeouts, internal defects and non-decisive outcomes all cost exactly zero and settle nothing.","links":{"productIndex":"https://mcp.jithox.com/x402/products","quickstart":"https://mcp.jithox.com/x402/quickstart","quickstartJson":"https://mcp.jithox.com/x402/quickstart.json","launchStatus":"https://mcp.jithox.com/x402/launch-status","servedFrom":"https://mcp.jithox.com/x402/quickstart.json"},"steps":[{"step":1,"title":"Read the canonical product index","detail":"One free document listing every Jithox product, what it costs, on which chain, and where its capabilities are described.","method":"GET","url":"https://mcp.jithox.com/x402/products"},{"step":2,"title":"Pick a product","detail":"Use products[].payable and products[].availability. A product with payable=false publishes no price and no payment route, and must not be paid."},{"step":3,"title":"Choose settlementOptions with lane=mainnet","detail":"Each product lists one settlement option per lane. lane=mainnet is real USDC on Base and realMoney=true; lane=testnet is Base Sepolia play money. Never infer the lane — read it."},{"step":4,"title":"Read that option's discoveryUrl","detail":"The discovery document lists the tools this product serves on THAT lane, each with its real input schema and a synthetic worked example.","method":"GET"},{"step":5,"title":"Pick a tool and build a request from its published input schema","detail":"The example body in the Bazaar extension is schema-valid, so a first request needs no out-of-band knowledge of the product's input shape."},{"step":6,"title":"Send an HTTP POST to the tool's resource URL","detail":"The paid resource is an HTTP POST endpoint that takes and returns JSON. Send it unpaid first — you are not expected to guess the price.","method":"POST"},{"step":7,"title":"Receive HTTP 402 with the PAYMENT-REQUIRED offer","detail":"The offer arrives in the PAYMENT-REQUIRED response header and in the response body (x402 v2, scheme=exact)."},{"step":8,"title":"Check the offer before signing: network, asset, amount, payTo","detail":"Compare all four against the settlement option you chose, and against your own maximum. An offer that asks for more than the index published, or names a different chain, asset or recipient, must be refused rather than paid."},{"step":9,"title":"Sign the EIP-3009 transferWithAuthorization with a Base wallet","detail":"Sign the offer exactly as received. The facilitator submits the transaction and pays the gas, so the wallet needs native USDC on Base and no ETH."},{"step":10,"title":"Repeat the SAME request with the PAYMENT-SIGNATURE header","detail":"Identical method, URL and body. A different body with the same authorization is refused: one payment pays for exactly one request.","method":"POST"},{"step":11,"title":"Read PAYMENT-RESPONSE, the tool result and the receipt","detail":"A 200 carries the decision-shaped result, a signed Ed25519 receipt binding capability, request, price and settlement, and the settlement transaction hash. Replaying the identical paid request returns the same stored result and never charges again."}],"products":[{"productId":"einvoice","serviceTitle":"Jithox E-Invoice Readiness","serviceVersion":"1.2.0","payable":true,"tools":5,"toolNames":["validate_invoice","validate_vat_number","verify_vat_vies","lookup_peppol_participant","get_einvoice_readiness"],"testnet":{"availability":"live","network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","realMoney":false,"atomicAmount":"100000","displayPrice":"0.10 USDC","discoveryUrl":"https://mcp.jithox.com/x402/paycall/discovery","statusUrl":"https://mcp.jithox.com/x402/paycall/status","resourceUrlTemplate":"https://mcp.jithox.com/x402/paycall/tools/{tool}"},"mainnet":{"availability":"canary","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x25a8314dBd3faB234dF0676DDa2a2dcF0536E97e","realMoney":true,"atomicAmount":"100000","displayPrice":"0.10 USDC","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","discoveryUrl":"https://mcp.jithox.com/x402/mainnet/paycall/discovery","statusUrl":"https://mcp.jithox.com/x402/mainnet/paycall/status","resourceUrlTemplate":"https://mcp.jithox.com/x402/mainnet/paycall/tools/{tool}"}},{"productId":"eu-import-preflight","serviceTitle":"Jithox EU Import Preflight","serviceVersion":"0.4.0","payable":true,"tools":5,"toolNames":["validate_eori","search_taric_codes","check_eu_import_measures","estimate_low_value_import_cost","prepare_import_preflight_receipt"],"testnet":{"availability":"live","network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","realMoney":false,"atomicAmount":"250000","displayPrice":"0.25 USDC","discoveryUrl":"https://import.mcp.jithox.com/x402/paycall/discovery","statusUrl":"https://import.mcp.jithox.com/x402/paycall/status","resourceUrlTemplate":"https://import.mcp.jithox.com/x402/paycall/tools/{tool}"},"mainnet":{"availability":"canary","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x25a8314dBd3faB234dF0676DDa2a2dcF0536E97e","realMoney":true,"atomicAmount":"250000","displayPrice":"0.25 USDC","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","discoveryUrl":"https://import.mcp.jithox.com/x402/mainnet/paycall/discovery","statusUrl":"https://import.mcp.jithox.com/x402/mainnet/paycall/status","resourceUrlTemplate":"https://import.mcp.jithox.com/x402/mainnet/paycall/tools/{tool}"}},{"productId":"eu-sanctions-preflight","serviceTitle":"Jithox EU Counterparty Sanctions Preflight","payable":false,"availability":"unavailable","tools":0,"reason":"This product's official source is not currently usable; it is deliberately not payable and exposes no x402 route on any network."},{"productId":"eu-energy-label-preflight","serviceTitle":"Jithox EU Energy Label Preflight","serviceVersion":"0.3.0","payable":true,"tools":5,"toolNames":["search_eprel_products","get_eprel_product_record","get_eprel_energy_label_data","compare_eprel_product_metrics","prepare_energy_label_preflight_receipt"],"testnet":{"availability":"live","network":"eip155:84532","asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","realMoney":false,"atomicAmount":"250000","displayPrice":"0.25 USDC","discoveryUrl":"https://energy.mcp.jithox.com/x402/paycall/discovery","statusUrl":"https://energy.mcp.jithox.com/x402/paycall/status","resourceUrlTemplate":"https://energy.mcp.jithox.com/x402/paycall/tools/{tool}"},"mainnet":{"availability":"canary","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x25a8314dBd3faB234dF0676DDa2a2dcF0536E97e","realMoney":true,"atomicAmount":"250000","displayPrice":"0.25 USDC","facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","discoveryUrl":"https://energy.mcp.jithox.com/x402/mainnet/paycall/discovery","statusUrl":"https://energy.mcp.jithox.com/x402/mainnet/paycall/status","resourceUrlTemplate":"https://energy.mcp.jithox.com/x402/mainnet/paycall/tools/{tool}"}}],"examples":{"nodejs":{"file":"scripts/x402-mainnet-agent-example.mjs","repository":"https://github.com/victor-emmanuel-c/jithox-mcp-fleet","environment":["JITHOX_X402_PRODUCTS_URL","JITHOX_X402_PRODUCT_ID","JITHOX_X402_TOOL","X402_BUYER_PRIVATE_KEY","X402_MAX_AMOUNT_ATOMIC"],"note":"Reads the index, selects lane=mainnet explicitly, validates network, asset, payTo and amount against your own maximum, signs in memory, and performs at most one paid retry."},"rawHttp":{"file":"docs/public/X402_RAW_HTTP_EXAMPLE.md","note":"Secret-free: GET the index, GET discovery, POST unpaid, read the 402. Signing is done by an x402-compatible wallet or client and is deliberately not shown as a literal."}},"limitations":["Read-only preflight and readiness evidence. Never a legal, fiscal or compliance determination.","Never a positive verdict inferred from missing, stale or unavailable source data.","A product whose official source is not usable is published as unavailable and is not payable at any price."]}