Storm ships two official SDKs. They cover different trading paths, so pick by the path your product needs, not only by language. Read Architecture & Concepts first if v2 and v3 are new to you.
| JavaScript / TypeScript | Go | |
|---|---|---|
| Package | @storm-trade/trading-sdk on npm | github.com/storm-trade/sdk-go |
| Source | storm-trade/sdk-js | storm-trade/sdk-go |
| v3 Smart Account, signed intents | No | Yes, storm/ package |
| v2 direct wallet transactions | Yes | Yes, stormv2/ package |
| Wallet integration | TON Connect in the browser, or any @ton/ton wallet in Node.js | tonutils-go wallet from a seed phrase |
| Market and limit orders, SL/TP, margin | Yes | Yes |
| Liquidity provide / withdraw | Yes | No |
| Deposits and withdrawals to a Smart Account | Not applicable | Yes |
| Sequencer, vAMM and vault read clients | Data API and oracle clients | Yes, low-level packages |
| Ready-made CLI | No | cmd/example (v3) and cmd/v2example (v2) |
π§ Which One
- Telegram bot, terminal or automated strategy on v3 with sub-second acceptance, builder attribution and prepaid gas: use the Go SDK. In other languages call the Trading API (V3) directly and follow the signing and query id rules from Architecture & Concepts.
- Web front end where the user signs with their own wallet through TON Connect: use the JS SDK. It builds the v2 transaction payloads and hands them to the wallet.
- Node.js service trading from a hot wallet on v2: either SDK works. The JS SDK returns transaction parameters you send with a
@ton/tonwallet contract, the Go SDK sends them itself. - Read-only integrations such as dashboards and analytics do not need an SDK. Use the Data API and the Trading API read endpoints.
π Environments
Both SDKs default to Stage, which runs against TON testnet. Move to Mainnet only after the flow works end to end.
| Stage | Mainnet | |
|---|---|---|
| Data API | https://api.stage.stormtrade.dev/api | https://api.storm.tg/api |
| Oracle | https://oracle.stage.stormtrade.dev | https://oracle.storm.tg |
| TON RPC | https://testnet.toncenter.com/api/v2/jsonRPC | https://toncenter.com/api/v2/jsonRPC |
| Go SDK network | config.Testnet | config.Mainnet |
Both SDKs read the list of markets, vaults and contract addresses from the Data API config endpoints at startup, so you never hardcode contract addresses.
π’ Units
- Leverage and prices are integers scaled by 10^9. 3x is
3_000_000_000, a price of 65 000 is65_000_000_000_000. - v2 collateral amounts use the asset's own decimals: 6 for USDT, 9 for TON and NOT.
- v3 order amounts use 9 decimals for every asset. Smart Account deposits and withdrawals use the asset's own decimals.
- Position size and close size are in the base asset with 9 decimals.
π Support
Report SDK bugs as issues in the matching repository: sdk-js or sdk-go. For integration questions use the Help & Support bot.