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
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)
Initialize the client
The SDK connects to mainnet by default. Pass
environment: 'testnet' to use testnet instead.- Mainnet
- Testnet
Query supported assets
Fetch all assets available on Bolt and find the denominations you need for your swap.
Simulate the swap
Before committing on-chain, simulate the swap to preview the expected output, fees, and pool routing. This is a dry run with no gas cost.
simulateSwap() uses current oracle prices and pool state. The output reflects exactly what the on-chain swap will return, because Bolt uses deterministic oracle-referenced pricing, not a bonding curve.What just happened
When you calledclient.swap(), your transaction went through Bolt’s execution layer:
- The Oracle provided a deterministic reference price from aggregated market data
- The Outpost (on-chain smart contract) validated the price, checked expiry and deviation limits, and matched your order against the liquidity pool
- The Market Maker settled the order on-chain, providing immediate liquidity at the oracle-validated price
- You received USDC at exactly the quoted rate, with zero slippage
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.
Off-Chain Quoting
Simulate swaps off-chain 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? Join the Developer Telegram or book a call with the team.