RIP.BET Docs

Trading overview

Trading is split by market family. The safest integration path is:

  1. Read /v1/runtime-config.
  2. Load market metadata.
  3. Check the active bucket or expiry state.
  4. Prepare the action if the flow uses agent signing.
  5. Sign exactly what the API returned.
  6. Submit the signed action.
  7. Read positions and open orders after submission.

Runtime config exposes waitlist and outcome feature flags. Probe scalar and binary market endpoints before enabling those market families in the client.

Scalar choices

Scalar markets support three entry styles:

FlowBest for
/v1/predictSimple temperature prediction UI
/v1/ordersDirect wallet-signed order submission
/v1/orders/prepare then /v1/orders/submitAgent-wallet integrations

Use /v1/close for explicit reduce-only closes.

Binary choices

Binary trading uses:

  1. POST /v1/binary/setup
  2. POST /v1/binary/predict
  3. POST /v1/binary/close

Leverage must be set to 2. Entries are rejected near the bucket boundary and when the market is not in the right phase.

Outcome choices

Outcome trading uses prepare/submit pairs:

Check /v1/runtime-config before showing outcome flows. When outcomes are disabled, outcome routes are unavailable. When outcome writes are enabled, prepare routes require JWT authentication, RIPBET allowlist access, and an active approved agent:

  1. Call POST /v1/agent/approve if prepare returns agent_not_approved.
  2. POST /v1/outcomes/orders/prepare
  3. Sign the returned agent message.
  4. POST /v1/outcomes/orders/submit

Cancels use the same pattern with /v1/outcomes/cancel/prepare and /v1/outcomes/cancel/submit.

Reduce-only and close-only states

Markets can enter states where new exposure is blocked but reducing exposure is allowed. Clients should:

  • Set reduce_only=true when closing scalar positions.
  • Use /v1/binary/close for binary exits.
  • Disable entry buttons when market status says paused, settled, or unavailable.
  • Show the API error message instead of masking it with a generic failure.

After submit

Do not assume a successful HTTP response means final settlement. Check:

NeedEndpoint
PositionsGET /v1/positions/{address}
Open ordersGET /v1/orders/open/{address}
Order historyGET /v1/orders/history/{address}
TradesGET /v1/trades/{address}
Outcome order statusPOST /v1/outcomes/order-status

On this page