place_perp_order
Open a leveraged perp position on the best/selected venue (non-custodial).
side is "long" | "short". market e.g. SOL-PERP; size_usd is notional USD. venue optional -- defaults to the configured primary (Jupiter Perps), with health failover to the fallback for new orders. Returns an UNSIGNED tx (Tier A) or a signing payload (Tier B) for your wallet to sign + broadcast, plus venue_name / custody_tier / settlement_token. Tier B (venue-custodied) venues require acknowledge_tier_b=true after reviewing custody_disclosure. Fee charged on size_usd notional past the daily free tier (x402).
jurisdiction: your ISO-3166-1 alpha-2
country code, self-declared -- perps are geo-gated (no US persons, unknown
jurisdiction DENIED). Declare once here (or via
declare_jurisdiction/trade_equity) and it is remembered 90 days.
Workflow: EXECUTE step (leveraged directional leg) -- after get_venue_health / get_venue_risk_score clear the venue and get_risk_assessment caps the size. Monitor via perp_positions. See get_trading_workflow.
idempotency_key (optional): a client-generated UUID.
Retrying with the same key + same args replays the original result instead
of re-opening the order. Reuse the SAME key across the build call and its
signed_transaction completion call -- the two legs
dedupe independently, so this never raises IDEMPOTENCY_CONFLICT; a NEW key
means a genuinely new order.
signed_transaction / verify (two-phase execution):
re-call this tool with the SIGNED payload and Crank relays it by custody
tier -- Tier A to Solana RPC, then awaits on-chain confirmation and
re-reads the position on the executing venue; Tier B to the venue's own
submit endpoint, which returns a venue order id (reported as
venue-acknowledged, since it is not an on-chain signature). Gate follow-on
decisions on verification.confirmed, never on tx_signature alone.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ip | No | ||
| side | Yes | ||
| venue | No | ||
| market | Yes | ||
| verify | No | ||
| leverage | Yes | ||
| size_usd | Yes | ||
| caller_id | No | ||
| order_type | No | market | |
| limit_price | No | ||
| jurisdiction | No | ||
| pay_in_crank | No | ||
| payment_header | No | ||
| wallet_address | Yes | ||
| idempotency_key | No | ||
| stop_loss_price | No | ||
| take_profit_price | No | ||
| acknowledge_tier_b | No | ||
| signed_transaction | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||