For the conceptual overview of who pays gas and why, see Gas sponsorship. This page covers the App SDK call sites.
Three flows, one SDK
Mini Apps: nothing to do
Inside the Startale App, gas is sponsored by the host paymaster. Your code callseth_sendTransaction, wallet_sendCalls, useSendTransaction, or useWriteContract exactly as it would against any wagmi-compatible wallet. The host attaches the paymaster signature before the UserOperation reaches the bundler.
If the user has just enough ETH to cover gas, that does not change anything either; the host paymaster pays first.
Standalone dApps: configure a paymaster
Standalone dApps do not get free gas. PasspaymasterOptions to either createStartaleAccountSDK or startaleConnector. The map is keyed by chain id.
The SDK packs
{ url, id } into the EIP-5792 capabilities sent with wallet_sendCalls, so every batched call on that chain is routed through your paymaster.
Standalone dApps without paymasterOptions
If you do not configure a paymaster, UserOperations are still built and submitted, but the user pays gas from their smart account’s ETH balance. The user therefore needs:
- An ETH balance on the smart account address (not the EOA).
- A way to top up that balance (bridge, faucet on testnet, in-app purchase).
Per-chain configuration
paymasterOptions is a map per chain id. You can sponsor on one chain and ask the user to pay on another:
Failure modes
Related
Custom paymaster reference
Full ERC-7677 paymaster service shape and integration patterns.
Provision an SCS paymaster
Mint a paymaster URL and
paymasterId in the Portal.Concept: gas sponsorship
The two-tier model and where it is going.
Batched calls
Atomic multi-call UserOperations work the same way regardless of who pays.