Payments
Sui provides multiple primitives for building payment flows, from reading balances and constructing multi-step transactions to sponsoring gas fees on behalf of your users. The approach you choose depends on your use case:
- Reading balances: Query address balances to display a user's holdings or verify sufficient funds before processing a payment.
- Constructing payments: Use payment intents to compose multi-step payment workflows (split coins, transfer, merge) into a single atomic programmable transaction block (PTB), a transaction that runs several commands together and succeeds or fails as a whole.
- Sponsoring gas: Use sponsored transactions so your users pay no gas fees. This is common for onboarding flows and stablecoin transfers where you want a Web2-like experience.
- Gasless stablecoin transfers: Sui supports zero-fee stablecoin transfers for eligible transactions, removing gas costs entirely for supported assets.
- Recurring and delegated spending: Use allowances to let a service, agent, or team member pull from a user's address balance within limits the user sets and can revoke.
- Payment verification: The Payment Kit provides secure payment verification, receipt management, and duplicate prevention for production payment systems.
Which payment approach should I use on Sui?
| Use case | Approach | Key benefit |
|---|---|---|
| Display user balances | Address Balances | Direct balance reads without coin enumeration |
| Send assets to a recipient | Payment Intents | Atomic multi-step transactions |
| Subsidize user gas costs | Sponsored Transactions | Zero gas for the end user |
| Stablecoin payments | Gasless Stablecoin Transfers | No gas fees for eligible stablecoin transfers |
| Production payment processing | Payment Kit | Receipts, verification, duplicate prevention |
| Subscriptions and agent budgets | Allowances | Bounded, revocable pulls from a funder's balance without per-payment signatures |
How do I accept payments without my users holding SUI?
A new user starts out holding nothing: they can't pay gas, so they can't transact, so they can't acquire the asset they need to pay gas. There are two ways out of this cold-start problem:
- Someone else pays gas: With sponsored transactions, your application or another sponsor pays the gas fee for the user's transaction.
- The transaction qualifies for a gas waiver: With gasless stablecoin transfers, eligible transfers of supported assets carry no gas cost at all, so no one needs to pay gas.
Payment applications might be subject to KYC, AML, sanctions, and money-transmitter licensing requirements depending on your jurisdiction and business model. Determine with counsel who holds the regulated role: whether a provider holds the license and you refer users to it, or whether your business is itself in the regulated position. These requirements are outside the scope of Sui documentation. Consult qualified legal counsel before launching a payment product.