Skip to content

Market makers

Getting started

From a fresh account to your first quote in five steps. Each step is independently verifiable through the API.

Setup checklist

Complete every step before you let a bot run unattended. Skipping monitoring is the most common cause of unhappy market making sessions.

  1. 1

    Open an account

    Register, verify email, enable 2FA. Treat this as the root of trust for your bot.

  2. 2

    Complete KYC tier 2

    Tier 2 raises daily limits enough for serious quoting. Tier 1 will hit limits on busy markets quickly.

  3. 3

    Fund the account

    Deposit USDC. Hold a comfortable buffer above your maximum expected one-sided inventory.

  4. 4

    Wire up the market data feeds

    Connect to /ws, subscribe to market data to receive live book updates and fill flow.

  5. 5

    Place your first ladder

    Start with one market, one outcome, three levels each side. Confirm fills before adding markets.

  6. 6

    Wire up monitoring

    Track net exposure, fill rate, and inventory half-life. Alert when any number drifts off target.

Data feeds you will use

REST is fine for one-shot reads; WebSocket is required for live quoting bots. Snapshot the book over REST, then stay current over the socket.

FeedShapeUse case
/markets REST Discover active markets and their metadata.
/markets/:id/orderbookREST Snapshot of one market's order book.
/ws WebSocket Live order book deltas โ€” required for quoting.
/ws WebSocket Live fill stream โ€” required for inventory tracking.

Your first quote

# Post both sides of a quote with 2-cent spread
curl -X POST https://staging.satoriex.io/api/v1/orders \
  -H "Authorization: Bearer $SATORIEX_TOKEN" \
  -d '{"market_id":"MKT","outcome_id":"YES",
       "side":"buy","type":"limit","price":0.49,"size":500}'

curl -X POST https://staging.satoriex.io/api/v1/orders \
  -H "Authorization: Bearer $SATORIEX_TOKEN" \
  -d '{"market_id":"MKT","outcome_id":"YES",
       "side":"sell","type":"limit","price":0.51,"size":500}'

Two limit orders, two cents apart. If both fill, your gross spread is 2 cents per share. The 1.5% taker fee is deducted from the seller's proceeds at match time (~0.77ยข at p=0.51), so your net spread after fees is closer to 1.2 cents per share, plus two maker rebates. Size your quoted spread to cover the fee drag.

Crossed quote = guaranteed loss

If your bid ever ends up above your ask on the same outcome, you will trade against yourself in seconds and lose money. Validate this invariant in code before going live.