Skip to main content
POST
Build a TWAP open transaction (position built in slices over time)

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

Target fill leverage for each slice.

maxLeverage
required

Upper leverage bound for slice fills.

runTimeSeconds
integer
required

Execution window in seconds; the order is filled in slices spread across this duration.

Required range: x > 0
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.

coinExposure

Fixed exposure target in base-asset units; omit for pure-collateral TWAPs.

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.