The SDK exposes four write-enabled execution modes plus a read-only mode. Each mode answers three questions:Documentation Index
Fetch the complete documentation index at: https://docs.ostium.com/llms.txt
Use this file to discover all available pages before exploring further.
- whose address owns the USDC and positions
- who signs the transaction payload
- whether submission happens as a normal EOA transaction or a gasless Safe user operation
Mode matrix
| Mode | Trader funds live in | Signer | Submitter | Typical use |
|---|---|---|---|---|
self-self | trader EOA | trader EOA | trader EOA | wallet-driven apps, bots, simple scripts |
self-gasless | trader EOA | trader EOA | trader Safe | client apps that want gasless trading after one-time setup |
delegated-self | trader EOA | delegate EOA | delegate EOA | backend execution on behalf of users |
delegated-gasless | trader EOA | delegate EOA | delegate Safe | gasless backend execution on behalf of users |
read-only | n/a | none | none | dashboards, analytics, price and account views |
Build-only vs submit-capable clients
Every mode can be created in two ways:- submit-capable: pass a private key and let the SDK sign and submit
- build-only: pass addresses only and use
get*Tx()to return unsigned transaction data for your own wallet or Safe flow
Choose the right mode
- Use Self + Self when the trader signs and pays gas directly.
- Use Self + Gasless when the trader still owns the account but you want a gasless UX after setup.
- Use Delegated + Self when your backend executes for users and a delegate EOA pays gas.
- Use Delegated + Gasless when your backend executes for users but you want sponsored Safe submission.
- Use Read-only when your app only needs data.
Related
- Testnet explains how
testnet: truechanges the SDK defaults.