Skip to main content
Orders are submitted through the backend as EIP-712 signed payloads. Backend authentication and order signing are separate: a wallet session can identify a user, but the order itself must still be signed. For the full SIWE login flow before placing or cancelling orders, see Sign In & Trade.
United Market is now live on BNB Smart Chain mainnet. We just launched — start trading on-chain prediction markets today.

1. Load Market Data

Fetch the market first so your client knows the market id, condition id, and outcome token ids.
Then fetch the market’s effective trading fee. You must sign this exact feeRateBps value into the order.
feeRateBps is in basis points (15 = 0.15%). It can vary per market or tag, so read it right before signing. Orders signing less than the market’s effective rate are rejected; markets with a 0 rate still accept 0.

2. Approve Trading Contracts

Before trading, the wallet must approve the exchange contract. Use the mainnet exchange address 0x8db26793D99b2E9Ac53102de110Fe783F676D516. See Contracts for all deployed addresses.

3. Build the EIP-712 Domain

4. Sign the Order

5. Submit the Order

The response includes an orderHash. Store it for order status and cancellation.

Submit Multiple Orders

Submit up to 50 signed orders for the same market in one request:
Orders are processed sequentially in request order. The operation is not atomic: one order can fail while other orders are accepted. Always inspect every entry in results.

Order Types

Amount Conventions

Check or Cancel Orders

To cancel selected orders without cancelling every open order, submit up to 100 hashes to POST /orders/cancel-many:
Ownership is checked for each hash. The response separates successfully cancelled orderHashes from failed entries, so partial success is possible.