Order Books
Create Order Book
Open a trading venue for an imported ERC-3643 security
POST
Creates an order book for one imported security token quoted in one settlement asset. Three properties are fixed by this venue and cannot be overridden: settlement is always on-chain, the token type is always an external security, and the trading mode is always continuous.
The book cannot be created until the four on-chain prerequisites hold. See Custody setup.
One instance may hold a single open book per pair. If an
ACTIVE or PAUSED book already quotes this pair, the request returns ORDER_BOOK_EXISTS.
Body Parameters
string
required
The ERC-3643 security token. Must be imported into your instance and readable on chain.
string
required
Settlement asset the security is quoted in. Must be authorized for this security on the custody contract, which is one of the four setup steps. Must differ from
tokenAddress.string
required
Display name, 1 to 64 characters.
string
required
Display symbol, 1 to 16 characters.
string
required
Wallet that will sign settlement transactions for this book. It must be authorized on the custody contract for this security, which is the fourth setup step. Naming a wallet you control is what lets settlements be driven through this API.
string
Instrument identifier, 1 to 31 characters, trimmed and upper-cased. An ISIN, a WKN, or an issuer’s own reference.Required when the security is not yet registered on the custody contract, because registration writes this identifier on chain. Optional afterwards, and if supplied it must match what is already registered, otherwise
ISIN_MISMATCH. The stored value always comes from the chain.string
Custody contract to use. Defaults to the address from Get Custody Contract. Any other address is refused with
INVALID_CONFIG.string
default:"0"
Smallest accepted quantity, in order book units.
string
Largest accepted quantity, in order book units.
string
default:"1"
Price increment, in order book units. Enforced when an order is submitted: a price that is not a multiple is refused with
INVALID_PRICE. Prepare Order does not check it, so a payload can be built at an off-tick price and then rejected on submission.integer
default:"0"
Maker fee in basis points, 0 to 1000.
integer
default:"0"
Taker fee in basis points, 0 to 1000.
integer
Fee applied in place of
makerFeeBps when the resting side is a market maker account, −1000 to 1000. A negative value pays the market maker.boolean
default:"false"
Publish the book so other instances on the same network can import it.
Pool depth with other books quoting the same instrument identifier. See Shared liquidity.
boolean
default:"false"
Enforce a reference price band on incoming orders.
string
default:"MANUAL"
MANUAL, STOCK_FEED or EXTERNAL_FEED.string
HTTPS feed endpoint, up to 2048 characters. Must resolve to a public host.
string
Feed request headers as a JSON string, up to 4096 characters.
string
JSON path to the price, or the ticker symbol in
STOCK_FEED mode.string
default:"EVERY_TRADE"
Refresh interval, from
EVERY_TRADE to 1DAY.integer
Band half-width in basis points, 1 to 10000.
boolean
default:"false"
Refuse orders when the reference is stale.
integer
Staleness window in seconds, 60 to 604800.
integer
Reference move in basis points that pauses the book, 10 to 10000.
object
Hashes of the setup transactions you signed after a
CUSTODY_SETUP_REQUIRED refusal, keyed by the step key. Unknown keys are rejected.What is read from the chain
Both tokens’ decimals are read at creation and recorded on the book, so every later conversion between order book units and on-chain amounts uses the real numbers rather than a default. A token that reports unusable decimals is refused withTOKEN_METADATA_UNAVAILABLE.
If the RPC endpoint for your instance does not answer, the request fails with CHAIN_UNAVAILABLE rather than reporting the prerequisites as unmet. No book is created and nothing is changed.
Response Fields
Returns201 with the created book.
object
