{"service":"x402card","description":"Wallet-native x402 commerce for virtual cards and prepaid Freeland travel eSIMs, paid with native USDC on Base.","products":{"virtualCard":{"name":"x402card virtual card","description":"Issue a wallet-owned virtual card and fund it from confirmed x402 payments.","directPurchase":"POST /api/card/purchase { idempotencyKey }","directTopup":"POST /api/card/topup { amountUsdCents?, idempotencyKey }","payerBecomesOwner":true,"ownerAuthenticationRequiredForPurchase":false,"ownerAuthenticationRequiredForCredentials":true,"authenticatedIssueOrderFallback":"POST /api/card-issue/orders with a stable Idempotency-Key","x402PaymentRequired":true,"publicIssueEnabled":true},"prepaidTravelEsim":{"name":"Freeland travel eSIM","description":"Buy a live prepaid travel eSIM directly through x402 and retrieve private installation credentials.","catalog":"GET /api/esim/plans","directPurchase":"POST /api/esim/purchase { planId?, idempotencyKey }","payerBecomesOwner":true,"cardRequired":false,"publicPurchaseEnabled":true}},"mode":"agent_first_signer_agnostic","instruction":"Use native HTTP/x402 or a compatible signer. The website and WalletConnect are fallbacks, not requirements.","apiBaseUrl":"https://api.x402card.org","siteUrl":"https://x402card.org","mcp":{"endpoint":"https://api.x402card.org/mcp","protocolVersion":"2025-06-18","transport":"streamable_http_json_rpc","methods":["initialize","tools/list","tools/call","ping"],"authorization":"public_read_only_discovery","walletAuthority":false},"openApi":"https://api.x402card.org/api/openapi.json","wellKnown":{"agent":"https://api.x402card.org/.well-known/agent.json","mcp":"https://api.x402card.org/.well-known/mcp.json","openApi":"https://api.x402card.org/.well-known/openapi.json"},"installCommand":"curl -sSL https://x402card.org/install | sh","cli":{"install":"curl -sSL https://x402card.org/install | sh","agentContract":"x402card api","mcpEndpoint":"x402card mcp","readiness":"x402card status","humanUi":"x402card open","issue":"node packages/agent/dist/cli.js issue (source checkout)","topup":"node packages/agent/dist/cli.js topup <usd> [--new] (source checkout; --new only after prior same-amount operation is funded)"},"readiness":{"health":"https://api.x402card.org/health","ready":"https://api.x402card.org/ready","esim":"https://api.x402card.org/api/esim/ready","config":"https://api.x402card.org/api/config"},"auth":{"type":"evm_wallet_signature_eip191_or_eip712","challenge":"POST /api/auth/challenge { address, preferredMessageSchemes? }","verify":"POST /api/auth/verify { address, intentId|message, messageScheme?, signature }","introspect":"GET /api/auth/session","sessionHeader":"Authorization: Bearer <token>","esimDeliveryHeader":"X-Esim-Delivery-Token: <order-scoped token returned by paid purchase>"},"walletRequirements":{"contractVersion":1,"ownerAuthentication":{"network":"eip155:8453","accountTypes":["eoa"],"messageSchemes":["eip191","eip712"]},"issuePayment":{"protocol":"x402","version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","walletPaymentUsdCents":2500,"ownerMustEqualPayer":true,"purposes":["card_issue","card_funding","esim_purchase"]},"credentialAuthorization":{"messageSchemes":["eip191","eip712"],"freshSignatureRequired":true,"defaultDelivery":"secure_local_view","modelDeliveryDefault":false},"adapters":{"nativeX402":"recommended","genericSigner":"supported","eip1193":"supported","walletConnect":"host_adapter_unverified","localMcp":"optional","smartAccounts":"experimental"}},"ownerAgentFlow":["Discover an existing native x402 wallet or generic EVM signer first","POST /api/card/purchase with one stable idempotencyKey and no payment header to receive the exact 402 challenge","Verify and pay exactly 25 USDC on Base; the x402 payer becomes the card owner","Poll the canonical operationId/orderId; never recreate after an ambiguous submit","The card becomes available when VALUT reports ACTIVE; the separate 10 USD platform fee may still be settling","Expect 15 USD available after the fee withdrawal succeeds","For later funding, POST /api/card/topup with integer amountUsdCents and one stable idempotencyKey; the payer must own the active card","Authenticate the payer wallet with a server-generated EIP-191 or EIP-712 challenge before owner-only reads","GET /api/cards to inspect existing cards","GET /api/cards/:id/balance to read the confirmed VALUT card balance","Credential reveal requires a fresh owner signature and stays outside model context by default","Remote MCP remains read-only and never receives wallet authority"],"payerAgentFlow":["POST /api/card/purchase with one stable idempotencyKey and no PAYMENT-SIGNATURE","read HTTP 402 and PAYMENT-REQUIRED","build an x402 exact EVM payment on Base USDC","retry the same body once with PAYMENT-SIGNATURE; the payer becomes the order owner","read PAYMENT-RESPONSE and the queued card-issuance result"],"topupAgentFlow":["POST /api/card/topup with amountUsdCents and one stable idempotencyKey, without PAYMENT-SIGNATURE","read HTTP 402 and verify the exact dynamic amount, Base USDC, payee and /api/card/topup resource","retry the same body once with PAYMENT-SIGNATURE; the payer must own the active card","read PAYMENT-RESPONSE and the asynchronous funding job; reuse the same key after ambiguity and never submit a second payment"],"endpoints":{"mcp":"POST /mcp","openApi":"GET /api/openapi.json","config":"GET /api/config","cards":"GET /api/cards; POST /api/cards returns existing card only","cardBalance":"GET /api/cards/:id/balance","discoverCard":"GET /api/card/discovery","directCardPurchase":"POST /api/card/purchase { idempotencyKey } (public x402; payer becomes owner; issuance is asynchronous)","discoverCardTopup":"GET /api/card/topup/discovery","directCardTopup":"POST /api/card/topup { amountUsdCents?, idempotencyKey } (public x402; payer must own an active card; funding is asynchronous)","createCardIssueOrder":"POST /api/card-issue/orders","listEsimPlans":"GET /api/esim/plans?countryCode=ID","discoverEsim":"GET /api/esim/discovery","directEsimPurchase":"POST /api/esim/purchase { planId?, idempotencyKey } (public x402; payer becomes owner; paid response returns order-scoped delivery token)","createEsimOrder":"POST /api/esim/orders { planId } with Idempotency-Key","getEsimOrder":"GET /api/esim/orders/:orderId with X-Esim-Delivery-Token or owner bearer session","getEsimCredentials":"GET /api/esim/orders/:orderId/credentials with X-Esim-Delivery-Token or owner bearer session (private, no-store)","createOrder":"POST /api/orders { amount }","listOrders":"GET /api/orders?status=active","directPay":"POST /api/orders/:orderId/pay { paymentSignature }","publicPayable":"GET|POST /pay/:orderId","publicPayableAlias":"GET|POST /api/x402/pay/:orderId"},"x402":{"version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xF9Eb7Ceab43a5bAB35001AeEbdF4D4d66E22E9D0","requestHeader":"PAYMENT-SIGNATURE","requiredResponseHeader":"PAYMENT-REQUIRED","successResponseHeader":"PAYMENT-RESPONSE"},"constraints":{"minOrderUsdCents":2500,"defaultOrderUsdCents":2500,"maxOrderUsdCents":25000,"cardRequiredBeforeOrder":true,"esimCardRequired":false,"esimPurchasePublicEnabled":true,"esimPurchaseAllowlistEnabled":false,"cardIssuePublicEnabled":true,"cardIssueAllowlistEnabled":false,"paidCardIssueRequired":true,"walletPaymentUsdCents":2500,"cardIssueFeeUsdCents":1000,"expectedAvailableAfterIssueUsdCents":1500,"walletApprovalRequired":false,"walletAuthorizationRequired":true,"cardPurchaseAuthenticationRequired":false,"cardTopupAuthenticationRequired":false,"cardCredentialAuthenticationRequired":true,"walletInteractionModes":["autonomous","policy_gated","human_approval"],"mcpWalletAccess":false,"noAppBalance":true,"autoFundCardAfterSettlement":true,"treasuryRebalanceMode":"manual"}}