Skip to main content
Get a complete subscription lifecycle running on Stellar testnet in under 5 minutes.
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.
1

Install the SDK

The SDK is a lightweight wrapper around the Vowena Soroban contract. It builds transactions locally — you sign and submit them with your own wallet or keypair.
2

Create a client

NETWORKS.testnet ships pre-configured contractId, rpcUrl, networkPassphrase, and usdcAddress.
3

Create a Project (merchant)

Every plan lives under a Project. Create one first.
4

Create a Plan (merchant)

Converts a human-readable amount to the 7-decimal integer format used by Stellar tokens:
5

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.
The subscriber’s wallet displays exactly what’s being approved: the token (USDC), the spending ceiling (price_ceiling × allowance_periods), and the Vowena contract as spender. Full transparency.
6

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 period seconds passed since the last charge?
  • Is the trial over?
  • Does the subscriber have sufficient balance and allowance?
  • Has max_periods been reached?
If all checks pass, USDC moves from subscriber to merchant via the SAC’s transfer_from.
You don’t have to run your own keeper. The Vowena dashboard ships a managed keeper cron that fires every minute.
7

Cancel

Either party can cancel, any time.
Cancellation is immediate and on-chain. Subscribers can also cancel directly via any Soroban-aware wallet or block explorer — the Vowena frontend is not required.

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.