{"cheapest_call":{"amount_units":"decimal USDC (0.003) \u2014 this display field only. The 402 body's `payment.amount_usdc` is **atomic** and shows 3000 for the same price. See `units` below before you move money.","amount_usdc":0.003,"endpoint":"https://kristo-intelligence-api.onrender.com/api/v1/signal","note":"paid per call \u2014 no subscription, no signup, no API key"},"curl":"curl -i https://kristo-intelligence-api.onrender.com/api/stats   # 402 -> read accepts[0].amount / payTo","discovery":{"connectors":"https://kristo-intelligence-api.onrender.com/api/connectors","mcp_manifest":"https://kristo-intelligence-api.onrender.com/api/mcp/manifest","openapi":"https://kristo-intelligence-api.onrender.com/openapi.json","well_known":"https://kristo-intelligence-api.onrender.com/.well-known/x402"},"network":"base","node":"const r = await fetch('https://kristo-intelligence-api.onrender.com/api/stats');\nif (r.status === 402) {\n  const { accepts } = await r.json();\n  // preferred: sign an EIP-3009 transferWithAuthorization for accepts[0].amount (raw USDC, 6 decimals) to accepts[0].payTo,\n  //   then retry with headers { 'PAYMENT-SIGNATURE': signed } (x402 v2; 'X-PAYMENT' for v1 clients)\n  // alternative (legacy, slower): plain USDC transfer, wait 12 confirmations, then retry with\n  //   { 'X-Payment-Proof': base64url(JSON.stringify({payer, transaction_hash, amount_usdc})) }\n}","protocol":"x402 v2","python":"import httpx, base64, json\nr = httpx.get('https://kristo-intelligence-api.onrender.com/api/stats')\nassert r.status_code == 402\nreq = r.json()['accepts'][0]   # scheme / network / amount / payTo\n# preferred: sign an EIP-3009 transferWithAuthorization for req['amount'] to req['payTo'] on Base,\n#   then retry with the PAYMENT-SIGNATURE header (x402 v2). x402-fetch and the x402scan wallet do this for you.\n# alternative (legacy, slower): send the same amount as a plain USDC transfer, wait 12 confirmations, then retry with\n#   X-Payment-Proof: base64url(JSON({payer, transaction_hash, amount_usdc}))","receiver":"0xd4cdA900839c0feD4374EE37EA0dbe8E4C6fd08f","service":"Kristo Intelligence","standard_client":"Any x402 v2 ecosystem client (x402-fetch SDK, x402scan embedded wallet, agentcash router) works out of the box: the challenge served here is canonical v2, and the signed EIP-3009 payload is accepted in PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1) and settled through the Coinbase x402 facilitator.","steps":["GET a paid endpoint -> 402 challenge, fully self-describing (accepts[0] carries scheme, network, amount and payTo)","preferred: sign an EIP-3009 transferWithAuthorization for accepts[0].amount to accepts[0].payTo and retry with the PAYMENT-SIGNATURE header (x402 v2; X-PAYMENT for v1 clients) \u2014 the facilitator settles it, so nothing waits on block confirmations","alternative: send the same amount as a plain USDC transfer to accepts[0].payTo, wait 12 confirmations (~24s), then retry with X-Payment-Proof: base64url(JSON({payer, transaction_hash, amount_usdc}))"],"units":{"X-Payment-Amount-USDC":"decimal USDC \u2014 0.005","accepts[0].amount":"atomic (6 decimals) \u2014 \"5000\" means 0.005 USDC","cheapest_call.amount_usdc":"decimal USDC \u2014 0.003 (display only)","payment.amount_usdc":"atomic, despite the name \u2014 5000 means 0.005 USDC","rule":"Pass atomic values to the ERC-20 transfer unchanged; divide by 1e6 only if your wallet API wants a decimal amount.","x402_amount":"atomic \u2014 \"5000\" means 0.005 USDC"},"usdc_contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}
