{"open":true,"protocol":{"name":"x402","version":2,"scheme":"exact","asset_transfer_method":"eip3009","spec":"https://github.com/coinbase/x402/blob/main/specs/x402-specification-v2.md"},"service":"Sellat","pay_to":"0xeDeb27856FfB8c313931B2DCE0f8375F27f4d87a","max_timeout_seconds":300,"networks":[{"id":"eip155:8453","chain_id":8453,"name":"Base","testnet":false,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_symbol":"USDC","eip712_domain":{"name":"USD Coin","version":"2"},"facilitator":"https://api.cdp.coinbase.com/platform/v2/x402"}],"resources":[{"method":"POST","url":"https://sellat.app/api/v2/proofs","price_usd":"0.01","description":"Timestamp and notarize any file, data or AI agent log by its SHA-256 hash: blockchain proof of existence and integrity for tamper-evident audit trails, anchored on Polygon in minutes, then Bitcoin (OpenTimestamps); not a notary act. Returns proof_id, certificate, proof.json and evidence ZIP, verifiable without Sellat. Use when you must prove exact data or an agent record existed and is intact.","body":{"hash":"sha256 hex","name":"optional","metadata":"optional object","size":"optional bytes","mime_type":"optional"}},{"method":"POST","url":"https://sellat.app/api/v2/proofs/{id}/qualified","price_usd":"0.90","description":"eIDAS qualified electronic timestamp (RFC 3161 .tsr) on a Sellat proof, issued in seconds by an EU qualified trust service provider on the EU trusted list. Legal timestamp with the presumption of accuracy of date and integrity of Art. 41.2 eIDAS, recognised across the EU. Use when the date must hold before a court, authority, regulator or auditor. Call it on the proof_id from POST /proofs."},{"method":"POST","url":"https://sellat.app/api/v2/wallet/key","price_usd":"0.01","description":"Read-only API key for the paying wallet’s Sellat account: list its proofs, read status and anchors, download certificates, evidence ZIPs and .tsr tokens. Use when the key returned by your first proof was lost."}],"free_with_the_wallet_key":["GET https://sellat.app/api/v2/proofs/{id}","GET https://sellat.app/api/v2/proofs","GET https://sellat.app/api/v2/account","GET https://sellat.app/api/v2/proofs/{id}/evidence.zip","GET https://sellat.app/api/v2/proofs/{id}/certificate.pdf","GET https://sellat.app/api/v2/proof/{id}.json (public)"],"how":["Call the resource without payment: the 402 answer carries PAYMENT-REQUIRED (base64 JSON) with the exact amount, asset, network and recipient.","Sign an EIP-3009 transferWithAuthorization for that amount with your wallet (the facilitator pays the gas; you need USDC only, no native token).","Repeat the request with PAYMENT-SIGNATURE (base64 JSON PaymentPayload). The answer carries PAYMENT-RESPONSE with the settlement transaction, and the body a `payment` object.","Your first proof returns api_key once: with it, read the state of your proofs for free. The same bytes again on the same wallet are free.","A Sellat proof shows that these exact bytes existed no later than the anchored time. It does not by itself prove authorship."],"docs":"https://sellat.app/en/developers/docs#x402","terms":"https://sellat.app/en/condiciones","terms_version":"2026-10-26","terms_acceptance":"Paying this offer accepts Sellat's terms and conditions, https://sellat.app/en/condiciones (version 2026-10-26); the version is recorded with the payment.","verify_without_sellat":"npx sellat-verify <file> <proof.json> (MIT, zero dependencies); the evidence ZIP verifies at https://sellat.app/verify, the .tsr with openssl ts -verify"}