{"uid":"cap_O1Xy0r6Y6PUEBwDNVLPy_","slug":"halowerk-x402werk-receipt-offer-verifier-5fbf06c6","name":"HALOWERK x402werk Receipt & Offer Verifier","description":"HALOWERK x402werk — bezahlte Endpunkte nach x402. Preise in USDC auf Base Mainnet.","url":"https://x402.netzhandwerker.de/receipt/verify","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"offer":{"type":"object","description":"The signed offer as {format, payload, signature}, or the bare offer payload with version, resourceUrl, scheme, network, asset, payTo, amount and validUntil — then pass signature and format separately."},"format":{"enum":["eip712","jws","eip191"],"type":"string","description":"Signature method, if the offer object does not name it. eip712 is what the offer-receipt extension produces."},"receipt":{"type":"object","description":"Optional signed receipt as {format, payload, signature}, or the bare receipt payload with version, network, resourceUrl, payer, issuedAt and transaction."},"signature":{"type":"string","maxLength":8192,"description":"Signature of the offer, if it is not inside the offer object."},"public_key":{"type":"object","description":"Public key as a JWK, required for jws signatures whose key identifier cannot be resolved from the token itself."},"expected_payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address you expected to have paid. When given, the receipt payer is compared against it."},"receipt_format":{"enum":["eip712","jws","eip191"],"type":"string","description":"Signature method of the receipt, if the receipt object does not name it."},"receipt_signature":{"type":"string","maxLength":8192,"description":"Signature of the receipt, if it is not inside the receipt object."},"max_receipt_age_seconds":{"type":"integer","default":3600,"maximum":2592000,"minimum":1,"description":"How old a receipt may be before its timestamps are called implausible."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_hmU_ui7XJI3c5mdLoAoZ0","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Verifies the cryptographic validity of an x402 payment offer and optional receipt, checking signatures, payer identity, and receipt freshness on Base Mainnet.","exampleAgentPrompt":"Verify this x402 payment offer for me — the signed EIP-712 offer payload is {offer: ...}, the signature is 0xabc123..., and I want to confirm the payer address is 0xDEAD...BEEF with a max receipt age of 3600 seconds.","exampleUseCases":[{"title":"Gate paid API access with offer check","prompt":"Before I release the premium data to this client, verify their x402 EIP-712 signed offer — here's the offer object with payload and signature — and confirm the payer address is 0x1234...abcd."},{"title":"Confirm receipt freshness after payment","prompt":"A user just submitted a payment receipt for my x402 endpoint. Can you verify the receipt signature using eip712 format and check that it's no older than 1800 seconds, with payer 0xABCD...5678?"},{"title":"Validate JWS-signed offer with public key","prompt":"I have a JWS-signed x402 offer from a client whose key isn't resolvable from the token itself — please verify the offer signature using this JWK public key and tell me if it's valid."}],"resultDescription":"Returns a verification result indicating whether the offer signature is cryptographically valid, whether the payer matches the expected address, and whether the receipt (if provided) is within the acceptable age window and correctly signed.","failureModes":["Invalid or mismatched signature returns a verification failure","Payer address mismatch when expected_payer is provided","Receipt older than max_receipt_age_seconds returns implausible timestamp error","Malformed offer or receipt object causes a schema validation error","JWS signature with unresolvable key ID without a supplied public_key fails","Unsupported signature format or network mismatch"],"whenToPreferThis":"Use this endpoint when you need to cryptographically verify x402 payment offers and receipts before granting access to paid resources, especially on Base Mainnet with USDC. Prefer this over manual on-chain checks when you need fast, off-chain signature and receipt validation supporting EIP-712, EIP-191, and JWS formats.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:38:08.043Z","isFirstParty":false}