You’ll need Node.js 20+, a funded Stellar testnet account, and a USDC
trustline. The dashboard checkout page can
fund a fresh wallet via friendbot if you don’t have one.
Create a client
- Testnet
- Mainnet
- Custom RPC
NETWORKS.testnet ships pre-configured contractId, rpcUrl,
networkPassphrase, and usdcAddress.Create a Plan (merchant)
What does toStroops do?
What does toStroops do?
Converts a human-readable amount to the 7-decimal integer format used
by Stellar tokens:
Subscribe (subscriber)
One signature creates the subscription AND sets the SAC allowance. If the
plan has no trial, the first period is charged atomically during this
call.
Charge (keeper or anyone)
Once a billing period has elapsed, anyone can fire the charge. The
contract does all the validation on-chain.The contract checks:
- Is the subscription active?
- Has
periodseconds passed since the last charge? - Is the trial over?
- Does the subscriber have sufficient balance and allowance?
- Has
max_periodsbeen reached?
transfer_from.You don’t have to run your own keeper. The Vowena
dashboard ships a managed keeper cron that
fires every minute.
Full example
Next steps
Core concepts
Projects, plans, subscriptions, allowances, and the billing lifecycle in
depth.
How it works
Visual walkthrough of the full protocol flow — plan creation to
cancellation.
SDK reference
Every method, type, and configuration option.
Run a keeper
Set up an automated keeper to charge subscriptions on schedule.