{"service":"wever-payout-rail","version":"1.0.0","schemas":{"payout-create":{"type":"object","additionalProperties":false,"properties":{"recipient":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}(?![\\s\\S])"},"amount_usdc":{"type":"string","pattern":"^(0|[1-9][0-9]{0,8})(\\.[0-9]{1,6})?(?![\\s\\S])"},"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,128}(?![\\s\\S])"},"memo":{"type":"string","maxLength":1024},"rail_reference":{"type":"string","maxLength":256},"usage":{"enum":["synthetic","operational","unspecified"]}},"required":["recipient","amount_usdc","idempotency_key","memo","rail_reference"]},"payout-authorize":{"type":"object","additionalProperties":false,"properties":{"payout_id":{"type":"string","pattern":"^po_[a-f0-9]{64}(?![\\s\\S])"},"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,128}(?![\\s\\S])"},"presentation":{"type":"string","minLength":1,"maxLength":24576},"challenge_token":{"type":"string","minLength":1,"maxLength":8192},"expires_at":{"type":"integer","minimum":1,"maximum":4102444800},"principal_signature":{"type":"string","pattern":"^0x[0-9a-fA-F]{130}(?![\\s\\S])"}},"required":["payout_id","idempotency_key","presentation","challenge_token","expires_at","principal_signature"]},"payout-execute":{"type":"object","additionalProperties":false,"properties":{"payout_id":{"type":"string","pattern":"^po_[a-f0-9]{64}(?![\\s\\S])"},"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,128}(?![\\s\\S])"}},"required":["payout_id","idempotency_key"]},"payout-status":{"type":"object","additionalProperties":false,"properties":{"payout_id":{"type":"string","pattern":"^po_[a-f0-9]{64}(?![\\s\\S])"},"idempotency_key":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,128}(?![\\s\\S])"}},"required":[],"oneOf":[{"required":["payout_id"]},{"required":["idempotency_key"]}]}},"holder_bindings":[{"version":1,"method":"eth_sign","format":"ES256K kb+jwt"},{"version":2,"method":"personal_sign","format":"wever-holder-binding-v2"}],"pricing":{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","scheme":"exact","x402Version":2,"pricesAtomic":{"/api/payout-create":"100000","/api/payout-authorize":"100000","/api/payout-execute":"100000","/api/payout-status":"100000"},"freeTier":{"calls":10,"windowDays":30,"scope":"all_paid_endpoints","walletProofMaxAgeSeconds":300},"payout_principal_is_fee":false},"payout_wallet":"0xed491beadcb5795e88ef42641f886761032933b7","max_payout_atomic":"25000000","daily_cap_atomic":"100000000","wallet_proof":{"header":"X-Wever-Wallet-Proof","every_call":true,"body_and_api_path_bound":true},"states":["created","authorized","executed"],"authorization":"A configured treasury holder supplies an EIP-712 principal_signature authorizing the exact payout id, payout wallet, recipient, amount, expiry and idempotency key, plus an unused trusted-issuer AP2 presentation. The gateway verifier honors holder binding v2 and commits the payout intent through the checkout request digest. AP2 verification retains its API-fee intent scope. Only the separate treasury signature grants bounded principal disbursement authority; paying an API fee grants none.","challenge_endpoint":"/api/payout-challenge","challenge_input":{"holder_wallet":"Configured treasury holder wallet","request_sha256":"SHA-256 of canonical sorted-key JSON {type:\"wever.payout.principal-authorization.v1\",payout_id,recipient,amount_atomic,expires_at,idempotency_key,chain_id:8453,asset:\"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\"}. Lowercase recipient. The immutable payout terms come from payout-create."},"principal_authorization":{"domain":{"name":"Wever Payout Rail","version":"1","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"primaryType":"PayoutAuthorization","types":{"PayoutAuthorization":[{"name":"payoutId","type":"string"},{"name":"payoutWallet","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"expiresAt","type":"uint256"},{"name":"idempotencyKey","type":"string"}]},"message_fields":{"payoutId":"payout_id","payoutWallet":"payout_wallet","recipient":"recipient","amount":"amount_atomic","expiresAt":"authorize.expires_at","idempotencyKey":"authorize.idempotency_key"}},"mandate_issuance":"Use the existing operator-authenticated /api/delegated-authority AP2 issue_mandate flow with the signed ap2-mandate-gateway checkout returned by payout-challenge and required holder proof. Do not separately consume this mandate at /api/ap2-mandate-gateway; payout-authorize uses its same verifier, trust anchors and global replay ledger.","execution":"Only an authorized, unexpired exact payout can produce a native USDC EIP-3009 transfer authorization from the dedicated payout wallet. The immutable nonce and signed transfer are persisted before submission. Retry the same payout after an interrupted response. Transaction confirmation is independently checked.","status":"Paid read-only lookup by payout_id or original create idempotency_key. Requires the creator wallet proof. Returns retained state and signed receipts without submitting or reconciling transactions.","receipts":"Record-backed EdDSA receipt-passports attest each created, authorized and executed transition. Every receipt includes payout id, recipient, amount, transaction hash when confirmed, mandate reference when bound, and declared usage label. Verify through wever_receipt-passport and the /api/trust-contract public key.","custody":"Dedicated operator-funded hot payout wallet. The operator funds manually from the operator's Ledger. Ledger keys never reach the server. Sweep and reclaim are manual.","limits":"A disbursement primitive, not a bank. No yield, conversion or fiat. External custody and security audit required before large-value use; caps remain small until then.","attribution":"Company-authored. Synthetic acceptance is labeled synthetic. Operational use is not evidence of outside customers or revenue.","live_funded_acceptance":"No real USDC moves in acceptance without the operator's separate explicit approval."}