Skip to main content
Every guide here takes one job and walks it end to end, with requests you can run. They assume the Bravado API, which gives you order execution, copy trading, and wallet analytics across prediction markets through a single integration. For endpoint-level detail, field types, and response shapes, see the API reference.

Choose a venue

Polymarket

Fully supported across every Bravado product. Every guide below works against it today.

Predict.fun

Supported for a subset of products. Coverage is being confirmed.

Trading bots

Automate execution on prediction markets with advanced order types. Polymarket’s own API accepts limit and market orders. Bravado adds TWAP, Iceberg, Pegged, and three stop variants, executed server-side so a strategy keeps running when your process does not. These guides cover placing orders, working large size into thin books, and building a bot that survives retries and restarts.

Place an order

Your first order, then the same call shaped into each of the eight order types.

Build a trading bot

A complete bot: signal, sizing, execution, and reconciliation on restart.

BTC 5m and 15m bot

Chainlink TWAP settlement, deterministic market discovery, and the fee math that decides the edge.

Stop-loss and take-profit

Protect a position with stops, brackets, and trailing exits.

Execute a large position

TWAP and Iceberg for working size without moving the price against yourself.

Quote both sides

Split collateral into a complete outcome set and make markets on both sides.

Safe retries

Idempotency keys, so a timeout never becomes a duplicate position.

Terminals

Build trading front ends for prediction markets. A terminal has to show what a user holds, what it is worth, and how to act on it, in one place. These guides cover the four calls a terminal needs on load, rendering positions with cost basis already computed, and the state distinctions that cause support tickets when a UI gets them wrong.

Build a trading terminal

Order entry, portfolio, and discovery from a single API surface.

Display positions and PnL

Render holdings, cost basis, and realized versus unrealized correctly.

Track order and strategy state

Why a TWAP is missing from your open orders, and how to show it properly.

White-label sub-accounts

Provision end users under a partner master key.

Copy trading

Mirror profitable traders automatically. Polymarket has no native copy trading, so this exists only through Bravado. The engine handles fill detection and execution; what you build is the layer that decides who to follow and how much to size them.

Track a whale wallet

Find a trader worth following, check their record, then mirror their fills.

Copy-trading bot

A follower service: selection filters, subscription, and supervision.

Analytics

Surface trader performance and market data. Every figure is derived from on-chain settlement records replayed through a share-level FIFO cost-basis engine, and works on any public wallet without a funded account.

Build a PnL leaderboard

Rank traders by realized PnL or volume, and render profiles that hold up.

Tax and accounting

Generate compliant reports from on-chain activity. Positions end three different ways on a prediction market, and only one of them looks like a trade. These guides cover pulling dispositions that account for all three.

Generate a tax statement

Form-8949-style dispositions, reconciliation, and export.

Conventions used throughout

Stated once here rather than repeated in every guide:
  • Base URLs. Trade, Copytrade, and Combos live under https://bravado-api-k7kaq.ondigitalocean.app/v2/trade. The Data API is at the root of the same host.
  • Auth. A Bearer token in the Authorization header on every request.
  • Numbers are strings. Prices, sizes, and PnL are JSON strings to preserve precision. Parse with a decimal type, never a float.
  • Prices are probabilities. "0.62" means 62 cents per share, valid range 0.001 to 0.999.
  • Mutations need an idempotency key. Every write accepts Idempotency-Key. See Safe retries.
Examples read $BRAVADO_API_KEY from the environment. Never hardcode a token or commit one.