{"service":"wever-referral-rail-v1","version":1,"issuer":"https://weverlabs.com/api/referral-rail","key_id":"wever-referral-20261002","public_jwk":{"crv":"Ed25519","x":"fxu-8MTl3tlnOBFzO-VfZGmzUYdscI03MFrggNIpX38","kty":"OKP"},"payout_wallet":"0x36D0d557e317c9F4d0D22eB4D55FB94D7904B1a0","rate_numerator":1,"rate_denominator":5,"duration_calendar_months":12,"min_claim_atomic":"1000000","max_claim_atomic":"25000000","max_outstanding_atomic":"200000000","legacy_payout_wallet":"0x36D0d557e317c9F4d0D22eB4D55FB94D7904B1a0","payout_rail_wallet":"0xed491beadcb5795e88ef42641f886761032933b7","treasury_holder":"0xc3837428f0e36e2573025c4a22e0f774fb3cee3e","payout_daily_cap_atomic":"100000000","claim_window_seconds":120,"claim_disbursement":"A valid signed claim may request an exact amount_usdc from 1 to 25 USDC within available earnings; otherwise it reserves up to 25 USDC of accrued earnings for 120 seconds and creates one payout instruction with rail_reference equal to the claim record id. A configured treasury holder must supply AP2 holder binding v2 and separate EIP-712 principal consent through wever_payout-authorize, then call wever_payout-execute. Retry the same claim proof nonce to reconcile confirmed payment and obtain its signed referral receipt. A reservation is not a completed payment.","schema":{"type":"object","oneOf":[{"type":"object","additionalProperties":false,"required":["action"],"properties":{"action":{"type":"string","const":"create_code"}}},{"type":"object","additionalProperties":false,"required":["action","code","code_token"],"properties":{"action":{"type":"string","const":"attribute"},"code":{"type":"string","pattern":"^WL-R-[A-Z0-9]{6}$"},"code_token":{"type":"string","minLength":64,"maxLength":4096}}},{"type":"object","additionalProperties":false,"required":["action"],"properties":{"action":{"type":"string","const":"earnings"}}},{"type":"object","additionalProperties":false,"required":["action","claim_id"],"properties":{"action":{"type":"string","const":"claim"},"claim_id":{"type":"string","pattern":"^[A-Za-z0-9:_-]{1,64}$"},"amount_usdc":{"type":"string","pattern":"^(0|[1-9][0-9]{0,2})(\\.[0-9]{1,6})?$"}}},{"type":"object","additionalProperties":false,"required":["action","receipt"],"properties":{"action":{"type":"string","const":"verify_receipt"},"receipt":{"type":"string","minLength":64,"maxLength":8192}}}]},"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","price_atomic":"100000","freeTier":{"calls":10,"windowDays":30,"scope":"all_paid_endpoints","walletProofMaxAgeSeconds":300},"wallet_proof_required":true,"claim_destination":"authenticated_referrer_wallet_only","accrual_units":"one fifth of one USDC atomic unit; fractions carried exactly","funding":"Manual operator funding only. New claims pay from payout_rail_wallet. Funds in legacy_payout_wallet do not fund the payout rail automatically. No deposit or automatic funding API. Third-party ERC20 transfers cannot be prevented.","capacity":"Fail closed when committing accruals beyond 200 USDC. Already recorded balances remain claimable. Unrecorded payments are retried after capacity is released."}