Subscription infrastructure on Solana
Recurring crypto payments, on autopilot.
Paying for subscriptions in crypto still means a manual transfer every month. AutoPay Agent turns that into one approval: a capped USDC or USDT allowance that a billing agent pulls from on schedule. It is non-custodial, every charge is verifiable on-chain, and the subscriber can cancel in one click.
- Non-custodial: wallet → wallet
- Capped approvals
- Solana Pay links & QR
- Webhooks + API keys
Pro plan · monthly
29.00 USDC/mo
- Nov 14Renewal · cycle 329.00 USDC
- Oct 14Retry 1 succeeded29.00 USDC
- Oct 13Low balance — retry in 24h29.00 USDC
- Sep 14First payment29.00 USDC
event subscription.renewed · sig 4kZ…9wQ
The problem
Crypto subscriptions are too complicated.
Customers forget to renew, merchants chase invoices, and the workarounds (prepaying a year, escrow contracts, custodial balances) lock up funds or need trust. Web2 billing has plans, retries and webhooks; crypto has had nothing comparable that stays non-custodial.
Manual every month
Send a transfer, paste a memo, hope the merchant matches it to your account.
Prepay or escrow
Lock up a year of funds, or trust a custodial balance you cannot easily withdraw.
No tooling
No plans, retries, dunning, webhooks or payment history for developers to build on.
How it works
One approval. Then it just runs.
Built on standard SPL token delegation, the same primitive every Solana wallet already understands and can revoke. No custom program to trust yet: the roadmap moves enforcement on-chain.
Subscriber approves a cap
They sign ONE transaction: the first payment, plus an SPL approval capped at price × cycles. Funds stay in their own wallet.
The agent pulls when due
On each billing date the worker checks balance and allowance, then moves exactly one period's price, straight to the merchant.
Everyone is notified
Merchant and subscriber see the payment with its Solana transaction. Signed webhooks tell your backend what happened.
What the billing agent can do
Move up to the approved amount of ONE token (USDC or USDT) out of the subscriber's token account, one period's price at a time, only on the billing date and only while the subscription is live.
What it can never do
Exceed the cap, touch SOL or any other asset, or keep charging after a revoke: a revoke takes effect on-chain immediately. In this version the agent key is held by our worker, which is a trust assumption. Read the trust model.
Product
Everything a recurring business needs.
Recurring payment schedules
Daily, weekly, monthly or yearly plans in USDC or USDT, with optional free trials. Billing dates keep their anchor day, even across short months.
Merchant payment links
One-time links in SOL, USDC or USDT and a subscribe link for every plan. Pay from a connected wallet or scan a Solana Pay QR on a phone.
Subscription management
Merchants see and cancel every subscriber. Subscribers can cancel, approve more cycles, or reactivate from one account page, in one click.
Payment history
Every first payment, renewal and failed attempt, linked to its Solana transaction. Filter it, export it to CSV, or fetch it over the API.
Automatic billing rules
Per plan: how many retries, how far apart, and what happens after the last one (cancel, pause or past-due), plus reminders before each charge.
Failed-payment notifications
A clear reason for every failure (low balance, approval revoked, allowance used up) sent to both sides in-app, by email and as a signed webhook.
For developers
Crypto-native billing with an API you already know.
Create checkouts and plans, list subscriptions and payments, cancel from your backend. Every state change is delivered as an HMAC-signed webhook with automatic retries, so your app can grant and revoke access without polling the chain.
- REST API with secret keys
- Signed webhooks + retry log
- Solana Pay transaction requests
- Reference-key verification
- CSV export
- Idempotent, verifiable on-chain
curl https://autopayagent.online/api/v1/checkouts \
-H "Authorization: Bearer apk_live_…" \
-H "content-type: application/json" \
-d '{"token":"USDC","amount":"49","title":"Order #1042",
"metadata":{"order_id":"1042"}}'
# → { "id": "…", "url": "https://autopayagent.online/c/…",
# "solanaPayUrl": "solana:https%3A%2F%2F…",
# "reference": "7xKq…", "status": "pending" }
# webhook POST https://your.app/hooks
# AutoPay-Signature: t=1731600000,v1=5f2c…
{ "type": "checkout.paid",
"data": { "checkout": { "signature": "4kZ…" } } }Pricing
Simple and on-chain.
Platform fee
0%
no platform fee during launch. If a fee is ever added, it is split inside the same transaction and shown before anyone signs.
Network fees
~$0.001
The subscriber pays for their checkout transaction. The agent pays for each renewal it pulls.
Included
- Unlimited plans & links
- API keys & webhooks
- Email + in-app notices
- CSV payment history
Roadmap
What comes next.
Not built yet. Listed so you know where this is going.
On-chain subscription program
Replace the shared agent delegate with a per-subscription PDA that can only pay the approved merchant, at most once per period, enforced by the program itself.
Pay in any token
Subscribers pay in SOL or any SPL token; a Jupiter route swaps to the merchant's settlement stablecoin inside the same charge.
Usage-based billing
Metered plans: report usage over the API, the agent charges the computed amount within the approved cap.
Token-2022 stablecoins
PYUSD, USDG and other Token-2022 assets, including transfer-fee aware accounting.
Invoices & tax exports
PDF invoices and receipts, VAT/GST fields, and accounting exports beyond CSV.
Teams & SDKs
Multiple members per merchant workspace with roles, plus TypeScript/Python SDKs and an embeddable checkout.
FAQ
Straight answers.
Is AutoPay Agent custodial?
No. Payments move straight from the subscriber's token account to the merchant's wallet in a single Solana transaction. AutoPay Agent never holds a balance.
What exactly does the subscriber approve?
An SPL token "delegate" approval for one token account: the billing agent can move at most the approved amount (for example 12 × 29 USDC) and nothing else. It cannot touch SOL, NFTs or any other token.
Can a subscriber stop payments?
Yes, at any time. Cancelling on the account page stops charges right away, and the same click offers a transaction that shrinks or revokes the approval on-chain. Any wallet can also revoke the delegate directly.
What if a charge fails?
The plan's rules apply: the agent retries a set number of times, a set number of hours apart, and both sides get the reason. After the last retry the subscription is canceled, paused or marked past due, whichever the merchant chose.
Why only USDC and USDT for subscriptions?
Recurring pulls need SPL token delegation. Native SOL has no delegate, so SOL is offered for one-time payment links only.
Who pays network fees?
Subscribers pay the fee for their own checkout transaction. The billing agent pays the fee (a fraction of a cent) for each renewal it pulls.
Launch your first plan in two minutes.
Connect a wallet, name your workspace, set a price and share the link. Payouts go straight to your wallet.