{"service":"wever-agent-records-v1","category":"Agent records","family":"Endpoint reliability, directory intake and wallet statements","tools":{"wever_endpoint-reliability-check":{"path":"/api/endpoint-reliability-check","receipt_type":"wever.endpoint-reliability-check.v1","schema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","minLength":12,"maxLength":2048,"pattern":"^https://\\S+$","description":"The endpoint to check: an MCP server endpoint or an x402 HTTP endpoint, over HTTPS on port 443 with a public hostname."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name for the endpoint, recorded in the report."},"kind":{"enum":["auto","mcp","x402"],"description":"auto (default) reads the endpoint first and then tries the MCP handshake unless it asked for payment; mcp runs the handshake only; x402 reads the payment challenge only."}}},"scope":{"network_requests":"the caller-named URL only, within the stated guards","writes":false,"moves_money":false,"sends_credentials_or_payment":false}},"wever_directory-submit":{"path":"/api/directory-intake","receipt_type":"wever.directory-submit.v1","schema":{"type":"object","additionalProperties":false,"required":["name","website","description","category","access","email"],"properties":{"name":{"type":"string","maxLength":1000,"description":"Server or tool name, 2 to 120 characters."},"website":{"type":"string","maxLength":1000,"description":"HTTPS website, up to 1000 characters."},"mcp_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"description":"Optional HTTPS MCP endpoint URL. The hourly run checks its anonymous initialize and tools/list handshake."},"description":{"type":"string","maxLength":1000,"description":"One-line description, 2 to 300 characters."},"category":{"type":"string","maxLength":1000,"description":"One directory category (the layer), exactly as the directory names it, for example \"Communication layer\" or \"Payment rails and products\"."},"access":{"type":"string","maxLength":1000,"description":"Access to the listed service: free, freemium or paid."},"email":{"type":"string","maxLength":1000,"description":"Contact email, kept private with the submission. Edits resubmit with the same name and this email."}}},"scope":{"network_requests":0,"writes":"one record in the directory review queue","publishes":false,"moves_money":false}},"wever_directory-status":{"path":"/api/directory-status","receipt_type":"wever.directory-status.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"submission_id":{"type":"string","pattern":"^dir_[a-f0-9]{64}$","description":"A submission ID returned by wever_directory-submit or the directory form."},"url":{"type":"string","minLength":12,"maxLength":2048,"pattern":"^https://\\S+$","description":"A listed website or MCP endpoint URL."}},"minProperties":1,"maxProperties":1,"description":"Send exactly one of submission_id or url."},"scope":{"network_requests":0,"reads":"the live directory listings and the directory review queue","writes":false,"moves_money":false}},"wever_wallet-statement":{"path":"/api/wallet-statement","receipt_type":"wever.wallet-statement.v1","schema":{"type":"object","additionalProperties":false,"required":["address","month"],"properties":{"address":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[0-9a-fA-F]{40}$","description":"Public Base address, the same form wever_wallet-activity-brief accepts. Mixed-case input must carry a valid EIP-55 checksum; all-lowercase input is normalized."},"month":{"type":"string","pattern":"^20[0-9]{2}-(?:0[1-9]|1[0-2])$","description":"The calendar month in UTC, YYYY-MM: the current month (to date) or one of the twelve before it."}}},"scope":{"network_requests":"the wallet activity brief readers only","writes":false,"moves_money":false}},"wever_bazaar-declaration-check":{"path":"/api/bazaar-declaration-check","receipt_type":"wever.bazaar-declaration-check.v1","schema":{"type":"object","additionalProperties":false,"required":["declaration"],"properties":{"declaration":{"anyOf":[{"type":"object","minProperties":1,"maxProperties":50},{"type":"string","minLength":1,"maxLength":65536,"pattern":"\\S"}],"description":"The CDP Bazaar discovery declaration: the 402 response body with accepts and extensions.bazaar, a route declaration with amount, resource and bazaar (the shape Wever routes declare), or the bazaar extension alone (info and schema). As JSON, JSON text or the base64 PAYMENT-REQUIRED header."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name, recorded in the report."}}},"scope":{"network_requests":0,"reads":"the declaration in the call","writes":false,"moves_money":false}},"wever_directory-listing-check":{"path":"/api/directory-listing-check","receipt_type":"wever.directory-listing-check.v1","schema":{"type":"object","additionalProperties":false,"required":[],"properties":{"name":{"type":"string","maxLength":1000,"description":"Server or tool name."},"website":{"type":"string","maxLength":1000,"description":"The website URL."},"mcp_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"description":"The MCP endpoint URL, when the listing has one."},"description":{"type":"string","maxLength":1000,"description":"The one-line description."},"category":{"type":"string","maxLength":1000,"description":"The directory category (the layer), as the directory names it."},"access":{"type":"string","maxLength":1000,"description":"The pricing: free, freemium or paid."},"email":{"type":"string","maxLength":1000,"description":"Optional contact email. It is checked against the form rule and never repeated in the report."}},"minProperties":1,"description":"The listing draft in the fields wever_directory-submit accepts. Send what you have; missing fields come back as fixes."},"scope":{"network_requests":0,"reads":"the draft in the call and the live directory listings","writes":false,"submits_or_publishes":false,"moves_money":false}},"wever_endpoint-honesty-check":{"path":"/api/endpoint-honesty-check","receipt_type":"wever.endpoint-honesty-check.v1","schema":{"type":"object","additionalProperties":false,"required":["url","price","asset","network"],"properties":{"url":{"type":"string","minLength":12,"maxLength":2048,"pattern":"^https://\\S+$","description":"The x402 endpoint, over HTTPS on port 443 with a public hostname."},"price":{"anyOf":[{"type":"number","minimum":0,"maximum":1000000000000000},{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,17})(?:\\.[0-9]{1,18})?$"}],"description":"The price the endpoint advertises per call, in whole units of the asset, for example \"0.10\" for 0.10 USDC."},"asset":{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S","description":"The asset the endpoint advertises: a token address, or \"USDC\" for USDC on Base and Base Sepolia."},"network":{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S","description":"The network the endpoint advertises: a CAIP-2 identifier such as \"eip155:8453\" or an x402 version 1 name such as \"base\"."},"pay_to":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[0-9a-fA-F]{40}$","description":"Optional recipient address the listing advertises. When given, the live recipient must match it."},"asset_decimals":{"type":"integer","minimum":0,"maximum":36,"description":"Optional decimals of the asset, needed when the asset is not USDC on Base or Base Sepolia."},"label":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S","description":"Optional name, recorded in the report."}}},"scope":{"network_requests":"one unpaid GET to the caller-named URL, within the endpoint reliability guards","writes":false,"moves_money":false,"sends_credentials_or_payment":false}}},"max_request_bytes":16384,"max_declaration_request_bytes":65536,"rounds":{"1":["wever_endpoint-reliability-check","wever_directory-submit","wever_directory-status","wever_wallet-statement"],"2":["wever_bazaar-declaration-check","wever_directory-listing-check","wever_endpoint-honesty-check"]},"endpoint_reliability_check":{"reads":"one caller-named HTTPS URL, live","requests":"a GET (except kind mcp), the directory listing handshake (initialize, the initialized notification and tools/list) unless the GET asked for payment, one more tools/list on the same session, and GETs until three reads are timed when no handshake completes","score":{"weights":{"reachability":25,"tls":20,"protocol":30,"latency":15,"consistency":10},"reachability":{"answered":25,"server_error":10},"tls":{"verified":20,"expiring":10,"expiring_days":14},"protocol":{"mcp_initialize":15,"mcp_tools":10,"mcp_stable":5,"x402_challenge":30,"x402_without_challenge":10,"credential_challenge":15,"credential_without_challenge":5},"latency_points":{"median at most 500 ms":15,"median at most 1000 ms":12,"median at most 2000 ms":8,"median at most 4000 ms":4},"consistency":"the consistency weight times the share of requests answered below HTTP 500, rounded"},"auth_labels":{"anonymous_access":"Anonymous access","payment_required":"Payment required","credential_required":"Credential required","unreachable":"Unreachable"},"challenge":"x402 version 1 or 2, read from the PAYMENT-REQUIRED header or the JSON body and checked with the x402 core schemas","guards":{"https_only":true,"port":443,"public_addresses_only":true,"dns":"answers pinned per connection","request_timeout_ms":5000,"total_budget_ms":8000,"min_request_ms":250,"response_bytes":262144,"latency_samples":3,"redirects":3,"request_headers":["accept","content-type","mcp-protocol-version","mcp-session-id","user-agent"],"user_agent":"Wever-Reliability-Check/1.0","credentials_sent":false,"payment_sent":false}},"directory_submit":{"path":"/api/directory-intake","fields":{"name":"2 to 120 characters with no control characters.","website":"An HTTPS URL up to 1000 characters with a hostname and no credentials or fragment.","mcp_url":"Optional. An HTTPS URL up to 1000 characters with a hostname and no credentials or fragment, or null.","description":"A one-line description, 2 to 300 characters with no control characters.","category":"One directory category: Card rails for agents, Communication layer, Disputes and refunds, Escrow and conditional payments, Invoicing, Marketplaces and directories, Payment rails and products, Settlement protocols, Splits and payouts, Wallet and identity for agents.","access":"free, freemium or paid.","email":"A contact email address up to 254 characters."},"validation":"the directory web form validation, field by field","writes":"the same review queue the web form writes; the hourly run publishes passing listings and routes others to operator review","statuses":["queued","published"],"field_errors":"directory_fields_invalid lists each field with its rule; nothing is queued and the call is not billed"},"directory_status":{"lookup":"exactly one of submission_id or url (a listed website or MCP endpoint)","states":{"live":"Live","queued":"Queued","operator_review":"In operator review","not_found":"Not found"},"reads":["live directory listings","directory review queue","directory publication records"],"verification_methods":{"automated_checks":"published by the hourly run after every check passed","operator_review":"published after operator review","source_review":"recorded from its cited source on the verified date"}},"wallet_statement":{"months":"the current UTC month to date or one of the 12 before it","readers":"the wallet activity brief readers (Blockscout, then the public Base RPC) and the treasury USDC balance reader","transfer_limit":100,"largest_transfers":10,"balances":"closing = the current balance less the net of transfers after the month through the balance block; opening = closing less the net of the month. Each is stated only when every transfer it needs was read."},"bazaar_declaration_check":{"reads":"one CDP Bazaar discovery declaration: a 402 body with extensions.bazaar, a route declaration with amount, resource and bazaar, or the bazaar extension alone, as JSON, JSON text or the base64 PAYMENT-REQUIRED header","required":["bazaar_present","discovery_envelope","schema_compiles","schema_patterns","info_matches_schema","input_schema","price_consistent","asset_consistent","network_consistent","recipient_shape","resource_consistent"],"advisory":["discoverable","input_body_fields","output_schema","output_example","resource_description","header_size","pattern_advisory"],"patterns":{"rejected":["not a valid regular expression","lookahead or lookbehind"],"known_rejection":"(?![\\s\\S])","accepted_strict_end":{"pattern":"$","not":{"pattern":"[\\r\\n  ]"}}},"verdicts":["would_pass","would_fail"],"network_requests":0},"directory_listing_check":{"fields":["name","website","mcp_url","description","category","access","email"],"checks":["form_fields","website_https","endpoint_https","endpoint_present_when_claimed","description_states_function","pricing_stated","content_screen","duplicate"],"standards":{"name":"2 to 120 characters with no control characters.","website":"An HTTPS URL up to 1000 characters with a hostname and no credentials or fragment.","mcp_url":"Optional. An HTTPS URL up to 1000 characters with a hostname and no credentials or fragment, or null.","description":"A one-line description, 2 to 300 characters with no control characters.","category":"One directory category: Card rails for agents, Communication layer, Disputes and refunds, Escrow and conditional payments, Invoicing, Marketplaces and directories, Payment rails and products, Settlement protocols, Splits and payouts, Wallet and identity for agents.","access":"free, freemium or paid.","email":"A contact email address up to 254 characters."},"reads":"the draft and the live directory listings","submits":false,"verdicts":["ready_to_submit","fixes_needed"]},"endpoint_honesty_check":{"reads":"one caller-named HTTPS URL, live, with one unpaid GET","compares":["amount","asset","network","recipient"],"verdicts":["matches","mismatch","no_challenge","unreachable"],"grades":"price truth only; availability and latency stay with wever_endpoint-reliability-check","guards":{"https_only":true,"port":443,"public_addresses_only":true,"dns":"answers pinned per connection","request_timeout_ms":5000,"total_budget_ms":8000,"min_request_ms":250,"response_bytes":262144,"latency_samples":1,"redirects":3,"request_headers":["accept","accept-encoding","user-agent"],"user_agent":"Wever-Reliability-Check/1.0","credentials_sent":false,"payment_sent":false}},"pricing":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pricesAtomic":{"/api/endpoint-reliability-check":"100000","/api/directory-intake":"100000","/api/directory-status":"100000","/api/wallet-statement":"100000","/api/bazaar-declaration-check":"100000","/api/directory-listing-check":"100000","/api/endpoint-honesty-check":"100000"},"x402Version":2,"scheme":"exact","freeTier":{"calls":10,"windowDays":30,"scope":"all_paid_endpoints","walletProofMaxAgeSeconds":300}},"wallet_proof":"Sign the exact JSON arguments and the tool route with X-Wever-Wallet-Proof. Retry an unchanged payment or wallet-proof request to recover its stored report.","signing":{"issuer":"https://weverlabs.com/api/agent-records-contract","key_id":"wever-trust-20261001","public_jwk":{"crv":"Ed25519","x":"PG6bYTJfqh-Y7YEMzxNVhMsFkrO1XnX7djPUvNi9g_U","kty":"OKP"},"algorithm":"Ed25519","receipt_types":{"endpoint-reliability-check":"wever.endpoint-reliability-check.v1","directory-submit":"wever.directory-submit.v1","directory-status":"wever.directory-status.v1","wallet-statement":"wever.wallet-statement.v1","bazaar-declaration-check":"wever.bazaar-declaration-check.v1","directory-listing-check":"wever.directory-listing-check.v1","endpoint-honesty-check":"wever.endpoint-honesty-check.v1"},"jwt_type":"wever-agent-records+jwt","digest":"SHA-256 of UTF-8 JSON.stringify(report), preserving returned property order. Verify the JWS signature and the report_sha256 and subject_sha256 claims."}}