{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_kqzrpsgwsufv","handle":"code402","url":"https://wellknown.network/agents/code402","links":{"self":"https://wellknown.network/agents/code402/record.json","html":"https://wellknown.network/agents/code402","markdown":"https://wellknown.network/agents/code402/record.md","api":"https://wellknown.network/api/v1/agents/code402","status":"https://wellknown.network/api/v1/agents/code402/status","claim":"https://wellknown.network/agents/code402/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/code402/claim.json","badge":"https://wellknown.network/agents/code402/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:mcp.code402.dev:server:code402","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"code402","summary":"Discover machine-payable APIs, probe x402 payment terms, and run seller operations. Non-custodial.","description":"Discover machine-payable APIs, probe x402 payment terms, and run seller operations. Non-custodial.","publisher":{"name":"89rat","url":null},"homepage":"https://code402.dev","repository":"https://github.com/89rat/m2m-exchange","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.code402.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-21T00:47:59.310714Z","publishedAt":"2026-08-21T00:47:59.310714Z","registryName":"io.github.89rat/code402"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":0.583,"provenance":"derived"}],"categories":["commerce","documents","finance"]},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-09-06T02:27:55.831Z","lastProbedAt":"2026-09-06T02:27:55.831Z","statusComputedAt":"2026-09-06T02:28:29.740Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":34},"latestObservations":[{"at":"2026-09-06T02:27:55.831Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"code402_list_services","description":"List services on the code402 gateway storefront (GET /v1/services): first-party APIs and third-party seller listings, each with method, URL, USDC price, and net"},{"name":"code402_get_service","description":"Fetch a single service from the code402 storefront by its serviceId (as returned by code402_list_services). Returns the same service shape as code402_list_servi"},{"name":"code402_probe_endpoint","description":"Send an unpaid GET to any public https URL and report whether it answers with a valid x402 402 challenge, plus normalized terms { scheme, network, amount (USDC "},{"name":"code402_gateway_health","description":"Check the code402 gateway's /healthz: returns { status, service, network } where network is the settlement chain currently configured (e.g. base-sepolia or base"},{"name":"code402_register_seller","description":"Register a seller on the code402 gateway (or update its name — the payout wallet is immutable once set; re-binding requires EIP-191 proof): POST /v1/sellers wit"},{"name":"code402_create_listing","description":"Create or update a paid listing for a registered seller: POST /v1/sellers/{sellerId}/services with { serviceId, upstream_url, price_usd, method?, description? }"},{"name":"code402_get_seller_analytics","description":"Fetch a seller's own settlement analytics (free): GET /v1/sellers/{sellerId}/analytics. Returns { total_settled_calls, gross_usd, unique_buyers, by_service: [{ "},{"name":"code402_get_seller_invoice","description":"Compute a seller's platform-fee invoice from settled receipts: GET /v1/sellers/{sellerId}/invoice?since={unix_ms}. Returns { tier, transactions, gross_usdc_unit"},{"name":"code402_trust_check","description":"Query the code402 Atlas index for measured trust evidence on an endpoint or domain: probe-verified liveness (probedAlive), evidence tier (probe vs asserted), an"},{"name":"code402_get_agent_reputation","description":"Fetch an agent's tamper-evident reputation credential from the code402 Atlas rail: GET /v1/agent/{agent_id}/reputation. The credential is an HMAC-signed, expiri"}],"toolCount":10,"serverName":"code402-mcp-server","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"code402_list_services","description":"List services on the code402 gateway storefront (GET /v1/services): first-party APIs and third-party seller listings, each with method, URL, USDC price, and net"},{"name":"code402_get_service","description":"Fetch a single service from the code402 storefront by its serviceId (as returned by code402_list_services). Returns the same service shape as code402_list_servi"},{"name":"code402_probe_endpoint","description":"Send an unpaid GET to any public https URL and report whether it answers with a valid x402 402 challenge, plus normalized terms { scheme, network, amount (USDC "},{"name":"code402_gateway_health","description":"Check the code402 gateway's /healthz: returns { status, service, network } where network is the settlement chain currently configured (e.g. base-sepolia or base"},{"name":"code402_register_seller","description":"Register a seller on the code402 gateway (or update its name — the payout wallet is immutable once set; re-binding requires EIP-191 proof): POST /v1/sellers wit"},{"name":"code402_create_listing","description":"Create or update a paid listing for a registered seller: POST /v1/sellers/{sellerId}/services with { serviceId, upstream_url, price_usd, method?, description? }"},{"name":"code402_get_seller_analytics","description":"Fetch a seller's own settlement analytics (free): GET /v1/sellers/{sellerId}/analytics. Returns { total_settled_calls, gross_usd, unique_buyers, by_service: [{ "},{"name":"code402_get_seller_invoice","description":"Compute a seller's platform-fee invoice from settled receipts: GET /v1/sellers/{sellerId}/invoice?since={unix_ms}. Returns { tier, transactions, gross_usdc_unit"},{"name":"code402_trust_check","description":"Query the code402 Atlas index for measured trust evidence on an endpoint or domain: probe-verified liveness (probedAlive), evidence tier (probe vs asserted), an"},{"name":"code402_get_agent_reputation","description":"Fetch an agent's tamper-evident reputation credential from the code402 Atlas rail: GET /v1/agent/{agent_id}/reputation. The credential is an HMAC-signed, expiri"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.89rat/code402","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.89rat%2Fcode402","firstSeenAt":"2026-09-06T00:20:39.765Z","fetchedAt":"2026-09-06T00:20:39.765Z","normalizedAt":"2026-09-06T00:20:39.765Z"}]},"firstSeenAt":"2026-09-06T00:20:39.765Z","updatedAt":"2026-09-06T02:28:38.636Z"}