Funds never leave the wallet early
No processor or escrow holds the money. Each charge moves value directly from customer to merchant, at charge time.
Recurring payments · on Ethereum
Card-style autopay for crypto: your customer authorises once, then you charge a fixed amount each period — straight from their wallet. Non-custodial, censorship-resistant, and final. No processor, no chargebacks, no middleman holding the funds.
Nothing is escrowed. The money stays in the customer's wallet until each charge — exactly like a card on file.
The customer approves the amount and signs up for the plan — a one-time on-chain authorisation. The merchant address is fixed and can never be changed.
Each period the merchant pulls the fixed amount from the customer's wallet. Charge upfront or on a set date; a future start makes a built-in free trial.
The customer cancels whenever they want; the merchant can extend the term to renew. A fixed term is required up front (no forever-authorisations).
The card mental model maps one-to-one — without a card network in the middle.
| Subscription feature | How Vektes does it |
|---|---|
| Card on file | The customer authorises once with a standing on-chain allowance — no card, no vault. |
| Charge on a schedule | The merchant charges a fixed amount each period, pulled from the customer's wallet. |
| Free trial | Set the first charge in the future — the trial period is built in. |
| Fixed term & renewal | Every plan has a required end date; the merchant can extend it to renew. |
| Declined payment → retry | If a wallet is short one cycle, the charge is resumable — it collects what it can and retries next time. |
| No runaway back-charges | A grace cap means a long-dormant plan can never be drained for months of arrears at once. |
| Cancel anytime | The customer cancels on-chain; unclaimed cycles are forfeited — no surprise final bill. |
No processor or escrow holds the money. Each charge moves value directly from customer to merchant, at charge time.
Settlement is final. A collected charge can't be reversed by a third party — predictable revenue, no dispute roulette.
No account to freeze, no gatekeeper to de-platform you. It's a public smart contract anyone can integrate.
No merchant onboarding, no card-network geography, no chargeback reserves. Stablecoins in, settled on Ethereum.
Auditable billing by construction — plans, charges, cancellations are all verifiable events, not a black-box dashboard.
Any app can create plans and charge them. Build your own billing UX on top; the settlement layer is shared and neutral.
It's a direct debit, not a credit card. Funds must exist in the customer's wallet at charge time — there's no credit line and no chargeback path. That's the trade for finality and self-custody.
Fixed price, stablecoins, one merchant. Today it's a fixed amount per period in a curated ERC-20 (or ETH), to a named recipient. Usage-based / variable billing is a future extension.
The merchant charges; the customer stays in control. The customer authorises up front, can cancel anytime, and older uncollected cycles lapse automatically — so a plan can never quietly accumulate a giant bill.
A plain smart-contract interface — no SDK required. Create a plan, charge it each cycle, extend or cancel.
// customer authorises a plan (fixed amount per period, required end date)
createAllowance(token, merchant, amountPerPeriod, periodLength, startTime, endTime, maxArrears, planCode)
// merchant charges the cycles due (resumable, capped by maxArrears)
claimAllowance(customer, merchant, planCode)
// merchant renews by pushing the end date out
extendAllowance(merchant, planCode, newEndTime)
// customer (or merchant) cancels — no further charges
cancelAllowance(merchant, planCode)