Skip to main content
This guide takes you from zero to a filled order on a paper account: simulated funds, live order books, and the same API calls you will later use to trade for real. You need a terminal with curl.

Before you start

You need a Plurex account and an API key.
  1. Sign up in the Plurex web app with your email, confirm the 6-digit code sent to you, and choose a handle and password.
  2. Open DevTools. Copy your Tenant ID.
  3. Under API Keys, create a key with a label. Copy the Key and Secret now: the secret is shown only once.
Export them in your shell:
An API key acts as your tenant, with full access to its accounts. Keep it out of source control and browser code. See Authentication.

Place your first paper order

1

Find a paper host

Host discovery is public, so this call needs no key:
The response lists every host. Paper hosts have isPaper: true, and modelHostId names the real host each one simulates (capabilities is left out here):
Pick a paper host and export its ID. This guide uses bybit-paper; use whichever paper host the list returns.
List results come in pages. When nextCursor is not null, send it back as cursor to read the next page.
2

Read the market's order rules

Look up BTC/USDT spot on that host:
The market’s orderTypes are its order rules. For a market buy, look at orderTypes.market:
These values are an example; read your own. sizingSupport.buy says how you may size a market buy: Notional (an amount of the quote asset to spend) or Size (an amount in native contracts, a whole multiple of size.increment and at least size.min; on spot markets one contract is normally one unit of the base asset, as the market’s contractDetails confirms). If the host has no BTC/USDT spot market, or orderTypes.market is null, choose another market from the list.
3

Create a paper account

The new account is under data. Export its ID:
Creating an account is not safe to repeat: a repeat creates a second account. If the call times out, check List accounts for a new account on $PLUREX_HOST_ID before trying again; identify it by host, not by name. A 422 AccountLimit error means your plan does not allow another paper account.
4

Deposit simulated funds

A new paper account is empty. Deposit the quote asset to buy with:
The response is the resulting USDT wallet. A deposit is not safe to repeat either: each call credits the account again. If a deposit times out, check the account’s Deposit transactions with List transactions before trying again.
5

Submit a market order

Buy 50 USDT of BTC. If the market’s sizingSupport.buy includes Notional and 50 is at least notional.min, send:
If the market sizes buys by Size instead, compute a size from the rules: a whole multiple of size.increment, at least size.min, and small enough for your deposit at the current price. Then send "sizing": { "type": "Size", "size": "0.0005" } with your own value.The paper host matches the order against the live order book. The response shows the order, already filled:
Export the order ID:
Submitting an order is not safe to repeat. If a submission times out, look the order up before resubmitting. Set a clientOrderId on the order to make that lookup easy; see Orders.
6

Read the order back

You get the same order record. Its fills, with price, size, fees and maker or taker role, are available from List fills.
7

Check your balances

You now hold some BTC, and your USDT balance is lower by the amount spent plus the fee.
You have run the whole order flow end to end: discovery, order rules, an account, funding, execution and reconciliation. Every step after creating and funding the account works the same on a connected exchange account.

Next steps

Stream account updates

Follow order changes and transactions live instead of polling.

Read capabilities

Learn what each host and market supports before you call it.

Paper trading

How paper fills orders, holds funds and charges fees and funding.

Go live

Switch from paper to a connected exchange account.