Testing on Testnet
Use testnet to validate wallet, account, session, order, WebSocket, and withdrawal flows before mainnet.
Testnet URLs
| Component | URL |
|---|---|
| REST API | https://api.testnet.o2.app |
| WebSocket | wss://api.testnet.o2.app/v1/ws |
| Fuel RPC | https://testnet.fuel.network/v1/graphql |
| Faucet | https://fuel-o2-faucet.vercel.app/api/testnet/mint-v2 |
Faucet
The faucet mints test assets only. It is not available on mainnet.
Common flow:
- Mint to your owner wallet.
- Create a trading account.
- Mint directly to the
trade_account_id, or use SDK setup helpers.
The SDK quick starts call helpers that create the account, fund it, and whitelist it where supported.
Test Tokens
Testnet/devnet assets commonly use f-prefixed symbols such as fUSDC, fETH, and fFUEL.
When selecting a market, match the market's base and quote asset IDs to the assets your faucet call funded. Do not rely only on symbols.
Whitelisting
Some test environments require a trading account to be whitelisted before order placement succeeds.
If order creation fails unexpectedly during setup, confirm the account has been whitelisted for the target environment.
Thin Order Books
Testnet and devnet order books may be thin, empty, or one-sided.
Before placing market-crossing orders:
- check depth with
GET /v1/depth - prefer conservative limit orders
- expect fills to differ from realistic mainnet liquidity
Recommended Smoke Test
- Create or load an owner wallet.
- Create a trading account.
- Fund the owner or trading account through the faucet.
- Fetch markets and select a funded pair.
- Create a session scoped to that market.
- Place a small limit order away from the spread.
- Query open orders.
- Cancel the order.
- Check balances and nonce state.
For language-specific examples, start with the TypeScript, Python, or Rust quick start.