Testnet

Also written test network, sandbox environment

A separate copy of a venue or a chain, reached at its own address with its own keys, where the assets are virtual and nothing settles for real. On an exchange it is a clone of the trading API whose orders match only against other test orders; on a blockchain it is a second network with worthless tokens. Neither tells you how an order would have filled on the live book.

Bot and connector cards in this catalogue use "testnet", "sandbox", "demo" and "paper" as if they were one feature. They are four, and only one of them puts an order in front of real prices.

How it works

An exchange testnet is the same API at a different URL. CCXT's manual describes a sandboxed API as "a clone of a production API, so, it's literally the same API, except for the URL to the exchange server". Its switch, setSandboxMode(true), has to be the first call after creating the exchange object, and the manual warns in bold that "Sandbox keys are not interchangeable with production keys". Every testnet is its own sign-up. Binance's Spot Test Network hands out keys against a GitHub login, credits every new account with a balance in many assets, allows only the /api endpoints, and is "periodically reset to a blank state" — roughly monthly, with no prior notice. The funds are virtual and cannot be moved in or out.

A demo account is not a testnet. Bybit runs both, and its documentation keeps them apart: demo trading is "an independent account" opened from a mainnet login, at api-demo.bybit.com, whose public data "is identical to that found on mainnet". It is "meaningless", the same page says, to use demo trading on the testnet site. Demo orders are kept for seven days, the rate limit is the default and cannot be raised, and not every endpoint is available.

A chain testnet is a second network. Solana publishes separate devnet and testnet clusters beside mainnet, each with its own RPC endpoint. On-chain venues inherit this: Hyperliquid's testnet is its own deployment with its own app and API host, and its faucet gives 1,000 mock USDC only to users who have already deposited on mainnet. The tokens are worthless, which is the point, and so is every price quoted in them.

Paper trading is none of these. It is a simulator on your side — the bot pretends to fill orders against live prices and never sends them. Nothing reaches the venue, so nothing about the venue's own behaviour is tested.

Why it matters here

A testnet proves the plumbing, not the fills. An order on a testnet matches against other virtual orders from other people testing their code. It tells you that your keys sign, that your order parameters are accepted, that your error handling survives a rejection and that your position tracking agrees with the venue's. It tells you nothing about queue position, depth or slippage on the live book, because the live book was never involved. A strategy that looks profitable on a testnet has been measured against a market that does not exist. A demo account that reads mainnet prices is closer, and its fills still have no counterparty with real money on the other side.

"Live trading on testnets only" is a real restriction. Jesse's free plan limits the exchanges you may trade to testnets, with paper trading switched off. That is a working rehearsal environment for the integration, and it is not a way to run a strategy for money; price the paid plan against that.

Support is uneven, and each card says where. CCXT raises NotSupported on any exchange with no testnet, so the switch reports the gap rather than hiding it. The Hyperliquid SDK ships the testnet URL as a constant and its examples use it by default. dYdX's clients ship testnet network constants and a faucet address. ccapi has no sandbox switch, so you override the URL yourself. Passivbot has no sandbox switch on any exchange adapter. Its fake exchange is a regression fixture, and its own documentation says not to call it paper, demo, sandbox or testnet trading. Tealstreet supports Bybit's demo mode and calls testnets in general best-effort. How to place an order on several exchanges lists the rest.

Testnets break, and they reset. Binance's monthly wipe means a test that depends on an open order, a balance or a position from last week will fail for reasons that have nothing to do with your code. An integration test suite pointed at a testnet needs to create its own starting state every run.

Read which of the four a vendor means. A bot card that offers "paper trading" may be running its own simulator, routing to the venue's testnet, or using a demo account on mainnet prices. The three answer different questions, and the marketing page rarely says which it is.

Where you will meet this

The cards where this changes a decision, then the rest that use the word.

Sources

  1. Manual — Testnets and sandbox environments — CCXT, read
  2. Spot Test Network — Binance, read
  3. Demo trading service — Bybit, read
  4. Testnet faucet — Hyperliquid, read
  5. Solana clusters and public RPC endpoints — Solana Foundation, read

Updated