Skip to main content
The Copytrade API lets you automatically mirror the on-chain trading activity of any Polygon wallet. When the leader executes a fill on Polymarket, Bravado detects it and immediately places a corresponding order on behalf of the subscribed follower, using the sizing mode, filters, and risk controls you configure at subscription time. You can run multiple simultaneous subscriptions, pause and resume copying at any time, and test strategies risk-free using simulation mode before committing real capital.

Endpoints

Subscription lifecycle

A subscription moves through three states. Use PATCH /{id}/status to transition between them. DELETE /{id} performs a soft delete, the subscription is deactivated and excluded from the active list, but all historical fills and PnL data are preserved. If you attempt to create a new ACTIVE subscription for a leader that already has one, the API returns 409 CONFLICT.

Buy-side sizing modes

The buy_size_mode field controls how the follower order size is calculated whenever the leader places a buy.

Sell-side sizing modes

The sell_size_mode field controls how the follower order size is calculated whenever the leader sells shares.
Use MAX or PCT_OF_MAX for sell-side sizing when you want the follower to fully exit a position whenever the leader sells, regardless of the leader’s actual sale size.

Risk controls

In addition to sizing, subscriptions support several risk control fields that you can set at creation or update later:
  • take_profit_levels, Automatically sell a portion of the position when unrealized gain reaches a specified threshold (in basis points).
  • stop_loss_levels, Automatically sell a portion of the position when unrealized loss reaches a specified threshold.
  • close_at_price_cents, Trigger a full position close when the market price hits a target in cents (1–9999).
  • max_hold_seconds, Force-close the position after a maximum number of seconds regardless of price.
  • copy_start_date / copy_end_date, Restrict copying to a specific date range; outside this window, leader fills are ignored.
All numeric fields in API responses are returned as JSON strings. Parse them before performing arithmetic.