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
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, rejectedstring | 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_unknownobject | null
required
Hyperliquid-specific submission details. Present when
provider is hyperliquid, otherwise null.Properties
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:
perpetualobject | null
required
The leverage requested by an
update_leverage trade. null for other trades.Properties
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, isolatedstring
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_leveragetrading_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
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
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
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
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_lossstring | 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
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, sellstring
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, rejectedstring
required
Trading venue the trade was submitted to.Available options:
hyperliquidobject[] | 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
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_lossstring | 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
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, sellstring
required
Submitted size as a decimal string.
object | null
required
Submitted trigger price in USD, or
null for orders without a trigger.Properties
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_unknownstring | 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

