Concepts
The object model
Section titled “The object model”Mandate: a payer’s signed authorization, and the central object. Names the payer, the payee, the token mint, an amountPerPeriod cap and a periodSeconds period. Charges execute against it. Revocable by the payer, on-chain, at any time. There is no stored card and no customer object; the mandate is the relationship.
Charge: a single execution against a mandate. Settles payer to merchant in one on-chain transfer.
Refund: returns funds to the original payer. The destination is not a parameter; it can only be the wallet that paid.
Payment link: a reusable way to start a mandate. Carries a name, payee, mint, amountPerPeriod, periodSeconds and an optional trialSeconds.
Webhook endpoint: a URL you register to receive events.
Event: everything that happens, delivered to your endpoint as a signed webhook and verifiable with constructEvent.
Amounts are always strings in atomic units, never floats, and mint is an SPL mint address rather than a currency code.
Planned
Section titled “Planned”Not built yet. Listed so the direction is clear, not because you can use them today.
Handle: a human-readable alias that will resolve to a wallet address, so a payer can be paid without anyone copying a 44-character string. An alias, not custody: it will point at a wallet the user already controls.
Reading order
Section titled “Reading order”- How settlement works, the money path
- Quickstart, the integration