Skip to main content
POST
Build a market-close transaction (full or partial)

Body

application/json
trader
string
required

The trader (position owner). USDC collateral is pulled from and paid out to this address.

tradeIndex
integer
required

Position slot index for this trader + pair (0-based; a trader can hold several positions on the same pair). Read it from GET /v2/positions → trades[].trade.index.

Required range: x >= 0
collateralToCloseUsdc
required

Collateral to close in USDC (pass the full collateral for a full close).

pairIndex
integer

Pair index (alternative to pair).

Required range: x >= 0
pair
string

Pair symbol, e.g. ETH/USD (separators /, -, _ accepted; case-insensitive).

Minimum string length: 1
delegate
string

Optional pre-authorized delegate. When set, the call is wrapped in delegatedAction(trader, …) and from becomes this address — the delegate signs the transaction and pays gas. Register one via /v2/delegate/set.

expectedPrice

The price you expect to execute at; used for the on-chain slippage check. Resolved from the live price feed when omitted.

executionFeeWei

ETH (wei) attached as msg.value and forwarded to the Avantis operator that fulfills the order. Defaults to the service value shown in /v2/meta → defaults.executionFeeWei.

Response

Success envelope: ok is true and data carries the payload documented below.

ok
enum<boolean>
required

Always true on success.

Available options:
true
data
object
required

An unsigned EVM transaction. Sign it with the from key and broadcast it yourself, or submit the signed bytes via POST /v2/relay.