Skip to main content
POST
Build an open-position transaction (market, limit, or stop-limit)

Body

application/json
trader
string
required

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

side
enum<string>
required

Position direction: long or short.

Available options:
long,
short
collateralUsdc
required

Collateral (margin) in USDC, human units — e.g. 100 = 100 USDC. Position size = collateral × leverage.

leverage
required

Leverage as a plain multiplier (10 = 10x).

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.

orderType
enum<string>
default:market

Open order type: market (immediate), limit / stop_limit (queued at openPrice), or market_pnl (zero-fee, profit-share on close).

Available options:
market,
stop_limit,
limit,
market_pnl,
market_zero_fee
slippagePercent
default:1

Max slippage in percent (1 = 1%).

openPrice

Entry price in USD. Market orders: optional override, resolved from the live price feed when omitted. Limit / stop-limit orders: the trigger price (required).

takeProfit

Take-profit price in USD. 0 or omitted = no take-profit (0 also removes an existing one on updates).

stopLoss

Stop-loss price in USD. 0 or omitted = no stop-loss (0 also removes an existing one on updates).

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.

skipValidation
default:false

Skip server-side pre-trade validation (listing, min position, leverage bounds, liquidity, market hours) and just encode the call. The chain still enforces all limits.

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.