Pre-authorize future subscription periods (Base)
shop.subscription.preauthorizeStore 1..12 pre-signed USDC authorizations (EIP-3009 TransferWithAuthorization, signed with viem signTypedData) for the FUTURE periods of a Base subscription you pay for, so the platform pulls each period when it starts. Each authorization is for one period: from = the wallet that paid the subscription, to = the merchant payout wallet, value = the plan price in micro-USDC (when the platform fee is on, value = price - fee plus a second fee_authorization to the fee wallet for the fee; without it the fee is invoiced to the merchant), validAfter = the unix start of the period, validBefore 1 h to 72 h after it, a fresh nonce. The whole call is refused (422, nothing stored) if any item does not match. Nothing is debited early; cancel with shop.subscription.cancel (stored authorizations are never executed after it) or on-chain with cancelAuthorization(authorizer, nonce, signature) on the USDC contract. Status active or past_due, Base only; another identity's subscription is 404.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| authorizations | Yes | ||
| subscription_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pull_mode | Yes | ||
| renewal_key | No | ||
| subscription_id | Yes | ||
| preauthorized_periods | Yes |