This guide targets developers building DApps, aggregators, or any application that routes swaps through Bolt on Sui. Market maker integration requires a separate onboarding flow. Contact the team if that is your use case.
Install, connect, and swap
1
Prerequisites
Before you start, make sure you have:
- Node.js 18+ installed
- A Sui-compatible wallet (Sui Wallet, Suiet, etc.) for signing transactions
- Access to Sui RPC endpoints (the SDK uses
https://fullnode.mainnet.sui.io:443for mainnet andhttps://fullnode.testnet.sui.io:443for testnet by default)
2
Install the SDK
- NPM
- YARN
- PNPM
3
Initialize the client
The SDK connects to mainnet by default. Pass
environment: 'testnet' to use testnet instead.- Mainnet
- Testnet
4
Query supported assets
Fetch all assets available on Bolt and find the denominations you need for your swap.
5
Simulate the swap
Before committing onchain, simulate the swap to preview the expected output, fees, and pool routing. This is a dry run with no gas cost.
simulateSwap() uses current prices and pool state. The output reflects exactly what the onchain swap will return, because Bolt uses deterministic convergence pricing, not a bonding curve.6
Execute the swap
Submit the swap onchain. The Execution Rail settles at the convergence price committed by the Convergence Engine.
What just happened
When you calledclient.swap(), your transaction went through Bolt’s synchronization layer:
- The Convergence Engine built a convergence price from cross-venue market data
- The Outpost (onchain smart contract) validated the price, checked expiry and deviation limits, and matched your order against the liquidity pool
- The pool settled the swap at the committed convergence price
- You received USDC at the convergence price quoted at execution time
What’s next
Sui TypeScript SDK
Full API reference: oracle queries, pool inspection, advanced client configuration, and best practices.
Sui Outpost Addresses
Contract addresses for mainnet and testnet deployments.
Offchain Quoting
Simulate swaps offchain using deterministic pricing for your own UI.
Contract Math
Understand the pricing formula behind simulateSwap().
Need integration support or want to discuss your use case? Book a call with the team.