Idempotency-Key header. Numeric response fields are returned as JSON strings.
POST /v2/trade/copytrade
Create a new copytrade subscription. The subscription starts inACTIVE status by default and immediately begins monitoring the leader wallet for new fills. A 409 CONFLICT is returned if an ACTIVE subscription for this leader_address already exists for the bound user.
Headers
Required fields
string
required
The Polygon wallet address of the trader you want to mirror. Must be a valid checksummed or lowercase hex address.
string
required
Which of the leader’s buy order types to copy. One of
"MARKET", "LIMIT", or "ALL".string
required
How to calculate the follower’s buy order size. One of
"PCT_OF_LEADER_TRADE", "FIXED_USD_PER_TRADE", or "PCT_OF_FOLLOWER_AVAILABLE".number
required
The numeric value for the chosen
buy_size_mode. For PCT_* modes this is a percentage (e.g. 50 for 50%); for FIXED_USD_PER_TRADE this is a dollar amount (e.g. 10).string
required
What to do when the follower’s balance is insufficient to fill the calculated buy size.
"BUY_MAX" spends whatever is available; "SKIP" skips the copy entirely.string
required
Which of the leader’s sell order types to copy. One of
"MARKET", "LIMIT", or "ALL".string
required
How to calculate the follower’s sell order size. One of
"PCT_OF_LEADER_TRADE", "FIXED_USD_PER_TRADE", "PCT_OF_FOLLOWER_AVAILABLE", "MAX", or "PCT_OF_MAX".What to do when the follower does not have enough shares to match the calculated sell size.
"SELL_MAX" sells all available shares; "SKIP" skips the copy.Optional fields
string
A human-readable label for the leader (e.g. their Polymarket username). Stored for display purposes only.
string
Initial status of the subscription. Defaults to
"ACTIVE". Pass "PAUSED" to create an inactive subscription you activate later.string[]
Allowlist of Polymarket market IDs. When set, only fills on these markets are copied.
string[]
Blocklist of Polymarket market IDs. Fills on these markets are never copied.
string[]
Only copy fills on markets that carry at least one of these category tags (e.g.
["Sports", "Politics"]).string[]
Never copy fills on markets that carry any of these category tags.
boolean
Set to
false to stop copying the leader’s buys while still copying sells. Defaults to true.number
Minimum leader buy size in USD. Fills below this threshold are not copied.
number
Maximum leader buy size in USD. Fills above this threshold are not copied.
string
Order time-in-force for copied buys.
"GTC" (Good-Till-Cancelled) or "FOK" (Fill-Or-Kill). Defaults to "GTC".number
Minimum computed buy size in USD when using a
PCT_* buy mode. Prevents tiny fractional fills.boolean
Set to
false to stop copying the leader’s sells. Defaults to true.number
The numeric value for the chosen
sell_size_mode. Required when sell_size_mode is not "MAX".boolean
When
true, all copied fills are paper trades: no real orders are placed and no capital is spent. Defaults to false.string
ISO-8601 datetime. Leader fills before this timestamp are ignored. Pass
null to copy from immediately.string
ISO-8601 datetime. Leader fills after this timestamp are ignored. Pass
null for no end date.object[]
Array of take-profit rules. Each rule is applied to every copied position.
object[]
Array of stop-loss rules. Each rule is applied to every copied position.
integer
Close the entire position when the market price reaches this value in cents. Must be between
1 and 9999.integer
Force-close the position after this many seconds from entry, regardless of current price.
Response
string
The unique ID of the newly created subscription. Use this as the
{id} path parameter in all subsequent requests.string
The initial status of the subscription,
"ACTIVE" or "PAUSED" based on what you passed.GET /v2/trade/copytrade
List allACTIVE and PAUSED subscriptions for the authenticated user. Soft-deleted subscriptions are excluded.
Headers
Response
object[]
Array of subscription objects, each containing the full configuration as provided at creation plus system fields (
id, status, created_at, updated_at).PATCH /v2/trade/copytrade/
Partially update an existing subscription. Only the fields you include in the request body are changed, all other fields remain at their current values. You can update any optional or required field exceptleader_address.
Headers
Path parameters
Request
All fields are optional. Include only the fields you want to update. Refer to thePOST /v2/trade/copytrade optional fields list for descriptions of each field.
Response
The full updated subscription object, reflecting all changes.DELETE /v2/trade/copytrade/
Soft-delete a subscription. The subscription is deactivated and removed from the active list, but all execution history and PnL data are preserved. You can still query historical fills viaGET /copytrade/history after deletion.
Headers
Path parameters
Response
boolean
true when the subscription has been successfully soft-deleted.PATCH /v2/trade/copytrade//status
Transition a subscription betweenACTIVE, PAUSED, and DISABLED states without modifying any other configuration.
Headers
Path parameters
Request
string
required
Target status. One of
"ACTIVE", "PAUSED", or "DISABLED".Response
string
The subscription ID.
string
The new status of the subscription.
GET /v2/trade/copytrade/history
Retrieve the execution history of all copied trades for the authenticated user, across all subscriptions.Headers
Query parameters
Response
object[]
Array of copied-trade records.
GET /v2/trade/copytrade/pnl
Retrieve realized profit and loss for the authenticated user across all copytrade subscriptions, split between real and simulation fills.Headers
Response
string
Realized PnL from real trades over the last 24 hours, in USD. Returned as a string.
string
Total realized PnL from real trades since account creation, in USD. Returned as a string.
object
PnL figures for simulation (paper) trades only.