Skip to main content
A Trade records an order batch, cancellation, or leverage change submitted to a trading provider from an account or user’s Whop-managed wallet. Its status tracks the submission, not whether orders filled. Use the Trades API to place limit or market orders with optional take-profit and stop-loss protection, cancel a submitted batch, set leverage, and list or retrieve past submissions. Read live margin, positions, and open orders by passing include_trading=true to Retrieve Account or Retrieve User with id=me. Whop’s builder fee is added to each order. Hyperliquid perpetuals are currently supported; email support@whop.com to request access.

Endpoints

Attributes

string
required
Trade ID, prefixed trop_.
string | null
required
The account that owns the trading wallet, prefixed biz_. null when a user owns it.
object[] | null
required
Cancellation results for cancel_orders trades, or null for other trades or before completion.

Properties

string
required
Client order ID of the order the cancellation targeted, prefixed trdcloid_.
string | null
required
The provider’s rejection reason, or null when the order was canceled.
string
required
canceled when the provider canceled the order; rejected when it refused, for example because the order had already filled.Available options: canceled, rejected
string | null
required
When the submission finished, as an ISO 8601 timestamp, or null while it is pending or its outcome is unknown.
string
required
When the trade was submitted, as an ISO 8601 timestamp.
string | null
required
Why the trade failed or has an unknown outcome, or null otherwise.Available options: pre_submission_error, provider_rejected, provider_outcome_unknown
object | null
required
Hyperliquid-specific submission details. Present when provider is hyperliquid, otherwise null.

Properties

string | null
required
Builder fee Whop charged on the submitted orders, in basis points as a decimal string, or null for trades that place no orders.
string
required
The kind of instrument traded.Available options: perpetual
object | null
required
The leverage requested by an update_leverage trade. null for other trades.

Properties

integer | null
required
Requested leverage multiplier, such as 10 for 10x, or null if the request didn’t contain a whole number.
string | null
required
cross shares margin across positions; isolated limits margin to this market’s position. null if the request didn’t contain a supported mode.Available options: cross, isolated
string
required
Market symbol, such as ETH.
object
required
String-to-string annotations you provided when submitting the trade.
string
required
string
required
create_orders places orders, cancel_orders cancels a submitted batch, and update_leverage sets a market’s leverage.Available options: create_orders, cancel_orders, update_leverage
trading_order[] | null
required
Order acknowledgements recorded at submission for create_orders trades, or null for other trades or before completion. They don’t update as orders fill; read live orders and positions from the account’s trading field.

Properties

string
required
Trading order ID, prefixed trdord_ once the provider assigns one, otherwise the client order ID prefixed trdcloid_.
object | null
required
Average fill price in USD for an immediate fill, or null when nothing filled.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
Client order ID Whop assigned to the order, prefixed trdcloid_.
string | null
required
The provider’s rejection reason, or null when the order was accepted.
string | null
required
Size filled immediately at submission, as a decimal string, or null when nothing filled.
object | null
required
Hyperliquid-specific order details. Present on Hyperliquid orders, otherwise null.

Properties

boolean | null
required
Whether the order can only reduce an existing position, or null when Hyperliquid omits it.
object | null
required
Trigger price in USD for take-profit and stop-loss orders, or null for orders without a trigger.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
Market symbol on the provider, such as ETH.
string
required
string
required
Available options: limit, market, take_profit, stop_loss
string | null
required
For an attached take-profit or stop-loss, the client order ID of its entry order, prefixed trdcloid_. null for other orders.
object
required
Submitted limit price in USD. For market and trigger orders, the worst price allowed after slippage.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
The provider’s own order ID, or null until the provider assigns one, such as for a rejected order or a take-profit or stop-loss that hasn’t triggered yet.
string
required
Available options: buy, sell
string
required
Submitted size as a decimal string.
string
required
The provider’s acknowledgement at submission time, not the current fill status.Available options: open, filled, rejected
string
required
Trading venue the trade was submitted to.Available options: hyperliquid
object[] | null
required
The orders submitted for a create_orders trade, including attached take-profit and stop-loss, with the client order IDs Whop assigned. Present in every status, so an unknown outcome can be reconciled by client_order_id. null for other trades.

Properties

string
required
Client order ID Whop assigned to the order, prefixed trdcloid_. Matches the order in orders and on the provider.
string
required
Market symbol as submitted, such as ETH.
string | null
required
Submitted order type, or null if the request didn’t contain a supported type.Available options: limit, market, take_profit, stop_loss
string | null
required
For an attached take-profit or stop-loss, the client order ID of its entry order, prefixed trdcloid_. null for other orders.
object | null
required
Submitted limit price in USD, or null for orders submitted without one.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
Submitted side, or null if the request didn’t contain a supported side.Available options: buy, sell
string
required
Submitted size as a decimal string.
object | null
required
Submitted trigger price in USD, or null for orders without a trigger.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
Submission status, not fill status. completed means the provider response was recorded, even if individual orders were rejected. Never resubmit a submission_unknown trade with a new idempotency key.Available options: pending, submitted, completed, failed, submission_unknown
string | null
required
For a cancellation, the ID of the canceled trade, prefixed trop_. null otherwise.
string
required
When the trade last changed, as an ISO 8601 timestamp.
string | null
required
The user who owns the trading wallet, prefixed user_. null when an account owns it.
Trade