Skip to main content
The developer API is in beta. Breaking changes may be introduced at any time.
See API capabilities for coverage and features that still require the website.

1. Create an API key

Open API Key Settings, name the key, and copy the secret when it appears. MyFundedPerps stores only its cryptographic hash, so the secret cannot be shown again.

2. List your accounts

GET /v1/accounts/{account_id} adds a fresh risk snapshot with equity, unrealized P&L, reserved margin, available balance, gross exposure, loss floors, room above each floor, and remaining profit target. When any open position lacks a fresh mark, mark-dependent values are null and marks_complete is false. Copy the id of the challenge account you want to trade.

3. Find a market and request a quote

Market IDs contain a pipe character. URL-encode it when it appears in a path:
Providing both side and size returns estimated_fill_price (the mark price adjusted by the size-based slippage tier), slippage_bps, estimated_notional, and estimated_fee. fillable is false when the requested size is not valid at the market’s size precision.

4. Place a market order

Use the quote’s mid as expected_price. This value records what your client observed; the server still prices and validates the order from a fresh, authoritative book.
An accepted order begins as pending. Read the order endpoint until it becomes filled or rejected; use a sensible backoff and observe the documented rate limits. If the placement response is lost, use GET /v1/orders?client_order_id=quickstart-entry-1 to recover the server order.

5. Place advanced orders

The same /v1/orders endpoint also accepts limit, chase, stop, take, and external conditional orders. TWAP, VWAP, and scaled ladders use their own parent resources. Continue with Trading with the API for request shapes and lifecycle operations. For continuous market updates, connect to market data streaming instead of polling prices. Account and order updates remain available through REST.