{"info":{"_postman_id":"6bc01061-f261-4ae2-83bf-3fa990af45d3","name":"MaxEx API","description":"<html><head></head><body><p>API collection for MaxEx Futures Trading &amp; Mini Game.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>All endpoints (except <code>/v1/public/*</code>) require HMAC-SHA256 authentication via custom headers:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>X-MAXEX-API-KEY</code></td>\n<td>Your API key</td>\n</tr>\n<tr>\n<td><code>X-MAXEX-SIGN</code></td>\n<td>HMAC-SHA256 signature of <code>apiKey + requestParams</code> using your secret key</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><strong>GET requests</strong>: <code>requestParams</code> = query string (everything after <code>?</code>)</li>\n<li><strong>POST requests</strong>: <code>requestParams</code> = JSON stringified body</li>\n</ul>\n<p>Signature is computed as: <code>HMAC_SHA256(secretKey, apiKey + requestParams)</code></p>\n<p>Public endpoints under <code>/v1/public/*</code> do not require authentication.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"52752569","collectionId":"6bc01061-f261-4ae2-83bf-3fa990af45d3","publishedId":"2sBXcHhJhZ","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-03-03T02:04:15.000Z"},"item":[{"name":"Mini Game","item":[{"name":"Place Bet","id":"fac90dbf-31c4-453b-9b4f-45ddc9a574fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"direction\": \"odd\",\n    \"amount\": 10,\n    \"timeInterval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/place-bet","description":"<p>Place a mini game bet (ODD/EVEN/UNDER/OVER or combination).</p>\n<p>The bet is placed during the current candle and assigned to the next candle. Betting closes when remaining time is less than the cutoff window (20s for minute intervals, 15s for 30s interval).</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>coin</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Trading pair (e.g. <code>BTCUSDT</code>, <code>ETHUSDT</code>)</td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>string</td>\n<td>Yes</td>\n<td><code>odd</code>, <code>even</code>, <code>under</code>, <code>over</code>, <code>odd_under</code>, <code>odd_over</code>, <code>even_under</code>, <code>even_over</code></td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Bet amount (min: 0.00000001, max: 999999999999)</td>\n</tr>\n<tr>\n<td><code>timeInterval</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td><code>30</code>, <code>1</code>, <code>3</code>, or <code>5</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","mini-game","place-bet"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"318cb0cd-03a8-4478-876c-c47000f1def1","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"direction\": \"odd\",\n    \"amount\": 10,\n    \"timeInterval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/place-bet","description":"Place a mini game bet (ODD/EVEN/UNDER/OVER or combination).\n\nThe bet is placed during the current candle and assigned to the next candle. Betting closes when remaining time is less than the cutoff window (20s for minute intervals, 15s for 30s interval).\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `direction` | string | Yes | `odd`, `even`, `under`, `over`, `odd_under`, `odd_over`, `even_under`, `even_over` |\n| `amount` | number | Yes | Bet amount (min: 0.00000001, max: 999999999999) |\n| `timeInterval` | integer | Yes | `30`, `1`, `3`, or `5` |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Bet placed successfully\",\n    \"result\": {\n        \"betId\": 123,\n        \"coin\": \"BTCUSDT\",\n        \"direction\": \"odd\",\n        \"amount\": 10,\n        \"timeInterval\": 1,\n        \"status\": \"open\",\n        \"createdAt\": 1740499200000\n    }\n}"},{"id":"020030a8-f2de-40bf-8b80-f529fe9328b4","name":"Betting Closed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"direction\": \"odd\",\n    \"amount\": 10,\n    \"timeInterval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/place-bet","description":"Place a mini game bet (ODD/EVEN/UNDER/OVER or combination).\n\nThe bet is placed during the current candle and assigned to the next candle. Betting closes when remaining time is less than the cutoff window (20s for minute intervals, 15s for 30s interval).\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `direction` | string | Yes | `odd`, `even`, `under`, `over`, `odd_under`, `odd_over`, `even_under`, `even_over` |\n| `amount` | number | Yes | Bet amount (min: 0.00000001, max: 999999999999) |\n| `timeInterval` | integer | Yes | `30`, `1`, `3`, or `5` |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Betting is closed for this round. Only 5 seconds remaining before round ends. Minimum 20 seconds required.\"\n}"},{"id":"f5420129-a1fc-4cc6-97a7-2786da4dcab0","name":"Insufficient Balance","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"direction\": \"odd\",\n    \"amount\": 10,\n    \"timeInterval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/place-bet","description":"Place a mini game bet (ODD/EVEN/UNDER/OVER or combination).\n\nThe bet is placed during the current candle and assigned to the next candle. Betting closes when remaining time is less than the cutoff window (20s for minute intervals, 15s for 30s interval).\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `direction` | string | Yes | `odd`, `even`, `under`, `over`, `odd_under`, `odd_over`, `even_under`, `even_over` |\n| `amount` | number | Yes | Bet amount (min: 0.00000001, max: 999999999999) |\n| `timeInterval` | integer | Yes | `30`, `1`, `3`, or `5` |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Insufficient balance\"\n}"},{"id":"104dbceb-b2a2-4de1-a943-224905c27885","name":"Invalid Coin","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"direction\": \"odd\",\n    \"amount\": 10,\n    \"timeInterval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/place-bet","description":"Place a mini game bet (ODD/EVEN/UNDER/OVER or combination).\n\nThe bet is placed during the current candle and assigned to the next candle. Betting closes when remaining time is less than the cutoff window (20s for minute intervals, 15s for 30s interval).\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `direction` | string | Yes | `odd`, `even`, `under`, `over`, `odd_under`, `odd_over`, `even_under`, `even_over` |\n| `amount` | number | Yes | Bet amount (min: 0.00000001, max: 999999999999) |\n| `timeInterval` | integer | Yes | `30`, `1`, `3`, or `5` |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Invalid coin symbol\"\n}"}],"_postman_id":"fac90dbf-31c4-453b-9b4f-45ddc9a574fd"},{"name":"Get Bet List","id":"0fd4787e-725a-4fa1-8d72-9f563df97e83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/mini-game/bets?page=1&limit=20&sortBy=created_at&sortOrder=desc","description":"<p>Returns a paginated list of the user's bets. Supports filtering by coin, direction, status, time interval, and date range.</p>\n<p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>coin</code></td>\n<td>string</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by trading pair (e.g. <code>BTCUSDT</code>)</td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>string</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by bet direction</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>No</td>\n<td>-</td>\n<td>Comma-separated statuses: <code>pending</code>, <code>open</code>, <code>closed</code>, <code>canceled</code></td>\n</tr>\n<tr>\n<td><code>timeInterval</code></td>\n<td>integer</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by interval: <code>30</code>, <code>1</code>, <code>3</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td>string</td>\n<td>No</td>\n<td>-</td>\n<td>ISO 8601 date-time</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td>string</td>\n<td>No</td>\n<td>-</td>\n<td>ISO 8601 date-time</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>1</td>\n<td>Page number</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>100</td>\n<td>Items per page (max 100)</td>\n</tr>\n<tr>\n<td><code>sortBy</code></td>\n<td>string</td>\n<td>No</td>\n<td><code>created_at</code></td>\n<td>Sort field</td>\n</tr>\n<tr>\n<td><code>sortOrder</code></td>\n<td>string</td>\n<td>No</td>\n<td><code>desc</code></td>\n<td><code>asc</code> or <code>desc</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","mini-game","bets"],"host":["https://future.maxex.io"],"query":[{"disabled":true,"description":{"content":"<p>Filter by trading pair</p>\n","type":"text/plain"},"key":"coin","value":"BTCUSDT"},{"disabled":true,"description":{"content":"<p>Filter by direction: odd, even, under, over, odd_under, odd_over, even_under, even_over</p>\n","type":"text/plain"},"key":"direction","value":"odd"},{"disabled":true,"description":{"content":"<p>Filter by status (comma-separated): pending, open, closed, canceled</p>\n","type":"text/plain"},"key":"status","value":"open,closed"},{"disabled":true,"description":{"content":"<p>Filter by interval: 30, 1, 3, 5</p>\n","type":"text/plain"},"key":"timeInterval","value":"1"},{"disabled":true,"description":{"content":"<p>Filter from date (ISO 8601)</p>\n","type":"text/plain"},"key":"startDate","value":"2026-01-01T00:00:00Z"},{"disabled":true,"description":{"content":"<p>Filter until date (ISO 8601)</p>\n","type":"text/plain"},"key":"endDate","value":"2026-12-31T23:59:59Z"},{"description":{"content":"<p>Page number (default: 1)</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Items per page (1-100, default: 100)</p>\n","type":"text/plain"},"key":"limit","value":"20"},{"description":{"content":"<p>Sort field: created_at, start_time, end_time, amount, return_amount</p>\n","type":"text/plain"},"key":"sortBy","value":"created_at"},{"description":{"content":"<p>Sort direction: asc, desc</p>\n","type":"text/plain"},"key":"sortOrder","value":"desc"}],"variable":[]}},"response":[{"id":"ddc2c73c-e39e-45ca-bcb1-0daeafb69e25","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/mini-game/bets?page=1&limit=20&sortBy=created_at&sortOrder=desc","host":["https://future.maxex.io"],"path":["v1","mini-game","bets"],"query":[{"key":"coin","value":"BTCUSDT","description":"Filter by trading pair","disabled":true},{"key":"direction","value":"odd","description":"Filter by direction: odd, even, under, over, odd_under, odd_over, even_under, even_over","disabled":true},{"key":"status","value":"open,closed","description":"Filter by status (comma-separated): pending, open, closed, canceled","disabled":true},{"key":"timeInterval","value":"1","description":"Filter by interval: 30, 1, 3, 5","disabled":true},{"key":"startDate","value":"2026-01-01T00:00:00Z","description":"Filter from date (ISO 8601)","disabled":true},{"key":"endDate","value":"2026-12-31T23:59:59Z","description":"Filter until date (ISO 8601)","disabled":true},{"key":"page","value":"1","description":"Page number (default: 1)"},{"key":"limit","value":"20","description":"Items per page (1-100, default: 100)"},{"key":"sortBy","value":"created_at","description":"Sort field: created_at, start_time, end_time, amount, return_amount"},{"key":"sortOrder","value":"desc","description":"Sort direction: asc, desc"}]},"description":"Returns a paginated list of the user's bets. Supports filtering by coin, direction, status, time interval, and date range.\n\n**Query Parameters:**\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| `coin` | string | No | - | Filter by trading pair (e.g. `BTCUSDT`) |\n| `direction` | string | No | - | Filter by bet direction |\n| `status` | string | No | - | Comma-separated statuses: `pending`, `open`, `closed`, `canceled` |\n| `timeInterval` | integer | No | - | Filter by interval: `30`, `1`, `3`, `5` |\n| `startDate` | string | No | - | ISO 8601 date-time |\n| `endDate` | string | No | - | ISO 8601 date-time |\n| `page` | integer | No | 1 | Page number |\n| `limit` | integer | No | 100 | Items per page (max 100) |\n| `sortBy` | string | No | `created_at` | Sort field |\n| `sortOrder` | string | No | `desc` | `asc` or `desc` |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Bets retrieved successfully\",\n    \"result\": {\n        \"bets\": [\n            {\n                \"betId\": 123,\n                \"coin\": \"BTCUSDT\",\n                \"direction\": \"odd\",\n                \"amount\": 10,\n                \"timeInterval\": 1,\n                \"startPrice\": 98500.5,\n                \"startTime\": 1740499200000,\n                \"endPrice\": 98600.3,\n                \"endTime\": 1740499260000,\n                \"returnAmount\": 19.5,\n                \"status\": \"closed\",\n                \"createdAt\": 1740499180000\n            }\n        ],\n        \"pagination\": {\n            \"currentPage\": 1,\n            \"limit\": 20,\n            \"totalCount\": 45,\n            \"totalPages\": 3,\n            \"hasNextPage\": true,\n            \"hasPrevPage\": false\n        }\n    }\n}"}],"_postman_id":"0fd4787e-725a-4fa1-8d72-9f563df97e83"},{"name":"Cancel Bet (Single)","id":"332c3bc6-99a6-4a76-bdca-94f22625dda7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"betId\": 123\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"<p>Cancel a single pending/open bet by ID.</p>\n<p>Only allowed if remaining time before the round ends is greater than the cutoff window (20s for minute intervals, 15s for 30s interval). The locked funds are refunded to the mini game balance.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>betId</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>The bet ID to cancel (min: 1)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","mini-game","cancel-bet"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"8e61b60e-a8f3-489a-8129-6a09c2319b59","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"betId\": 123\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"Cancel a single pending/open bet by ID.\n\nOnly allowed if remaining time before the round ends is greater than the cutoff window (20s for minute intervals, 15s for 30s interval). The locked funds are refunded to the mini game balance.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `betId` | integer | Yes | The bet ID to cancel (min: 1) |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Bet cancelled successfully\",\n    \"result\": {\n        \"betId\": 123,\n        \"status\": \"canceled\",\n        \"refundedAmount\": 10\n    }\n}"},{"id":"e99b1f6b-7ab1-4780-a3ef-8ed1f9d555eb","name":"Bet Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"betId\": 123\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"Cancel a single pending/open bet by ID.\n\nOnly allowed if remaining time before the round ends is greater than the cutoff window (20s for minute intervals, 15s for 30s interval). The locked funds are refunded to the mini game balance.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `betId` | integer | Yes | The bet ID to cancel (min: 1) |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Bet not found or not open\"\n}"},{"id":"fc4210be-62f4-409e-b287-7d86248f1724","name":"Within Cutoff Window","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"betId\": 123\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"Cancel a single pending/open bet by ID.\n\nOnly allowed if remaining time before the round ends is greater than the cutoff window (20s for minute intervals, 15s for 30s interval). The locked funds are refunded to the mini game balance.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `betId` | integer | Yes | The bet ID to cancel (min: 1) |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Bet cannot be cancelled. Only 5 seconds remaining before round ends. Minimum 20 seconds required.\"\n}"}],"_postman_id":"332c3bc6-99a6-4a76-bdca-94f22625dda7"},{"name":"Cancel Bet (All by Interval)","id":"97d98116-48dd-4c36-a0d6-950e2a07801c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"interval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"<p>Cancel all open bets for a specific time interval.</p>\n<p>When <code>betId</code> is omitted, the <code>interval</code> field is required. Each bet is individually checked against the cutoff window — bets too close to round end are skipped.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>interval</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Time interval: <code>30</code>, <code>1</code>, <code>3</code>, or <code>5</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","mini-game","cancel-bet"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"54ccd67f-57d6-4948-b230-4a6258273fd0","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"interval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"Cancel all open bets for a specific time interval.\n\nWhen `betId` is omitted, the `interval` field is required. Each bet is individually checked against the cutoff window — bets too close to round end are skipped.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `interval` | integer | Yes | Time interval: `30`, `1`, `3`, or `5` |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Bets cancelled successfully\",\n    \"result\": {\n        \"cancelledBetIds\": [101, 102, 103],\n        \"totalRefunded\": 30,\n        \"skippedCount\": 1\n    }\n}"},{"id":"cd6ce98a-acf9-4f57-b89e-3e2782d62243","name":"No Open Bets","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"interval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"Cancel all open bets for a specific time interval.\n\nWhen `betId` is omitted, the `interval` field is required. Each bet is individually checked against the cutoff window — bets too close to round end are skipped.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `interval` | integer | Yes | Time interval: `30`, `1`, `3`, or `5` |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"No open bets to cancel\",\n    \"result\": {\n        \"cancelledBetIds\": [],\n        \"totalRefunded\": 0,\n        \"skippedCount\": 0\n    }\n}"},{"id":"fb2b17bc-da17-45a5-84dd-d6561bdfb991","name":"All Within Cutoff","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"interval\": 1\n}"},"url":"https://future.maxex.io/v1/mini-game/cancel-bet","description":"Cancel all open bets for a specific time interval.\n\nWhen `betId` is omitted, the `interval` field is required. Each bet is individually checked against the cutoff window — bets too close to round end are skipped.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `interval` | integer | Yes | Time interval: `30`, `1`, `3`, or `5` |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"No bets could be cancelled (all within cutoff window)\",\n    \"result\": {\n        \"cancelledBetIds\": [],\n        \"totalRefunded\": 0,\n        \"skippedCount\": 3\n    }\n}"}],"_postman_id":"97d98116-48dd-4c36-a0d6-950e2a07801c"},{"name":"Get Account Info","id":"294e7a2a-e0e8-4733-af2e-9f9275d3cc5d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/mini-game/account-info","description":"<p>Returns the user's mini game account balance, nickname, and default bet settings.</p>\n<p>No query parameters needed — the user is identified via the API key in the request header.</p>\n","urlObject":{"path":["v1","mini-game","account-info"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"31e6b1cb-7369-4f00-999c-7e3a131de7f7","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/mini-game/account-info","description":"Returns the user's mini game account balance, nickname, and default bet settings.\n\nNo query parameters needed — the user is identified via the API key in the request header."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"message\": \"Account info retrieved successfully\",\n    \"result\": {\n        \"balance\": 1000.50,\n        \"nickname\": \"Player1\",\n        \"defaultCoin\": \"BTCUSDT\",\n        \"defaultAmount\": 10,\n        \"defaultTimeInterval\": 1\n    }\n}"},{"id":"eca6a497-aa4c-43e5-912e-9732216529ff","name":"Account Not Found","originalRequest":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/mini-game/account-info","description":"Returns the user's mini game account balance, nickname, and default bet settings.\n\nNo query parameters needed — the user is identified via the API key in the request header."},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Mini game account not found\"\n}"}],"_postman_id":"294e7a2a-e0e8-4733-af2e-9f9275d3cc5d"}],"id":"ffef0269-4ed3-47bd-9ff0-1cf79b58bcbe","description":"<p>Mini game betting endpoints. Players place bets (ODD/EVEN/UNDER/OVER or combinations) during the current candle.</p>\n<h2 id=\"bet-directions\">Bet Directions</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Direction</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>odd</code></td>\n<td>Last digit is odd (payout: 1.95x)</td>\n</tr>\n<tr>\n<td><code>even</code></td>\n<td>Last digit is even (payout: 1.95x)</td>\n</tr>\n<tr>\n<td><code>under</code></td>\n<td>Last digit 0-4 (payout: 1.95x)</td>\n</tr>\n<tr>\n<td><code>over</code></td>\n<td>Last digit 5-9 (payout: 1.95x)</td>\n</tr>\n<tr>\n<td><code>odd_under</code></td>\n<td>Last digit 1, 3 (payout: 3.7x)</td>\n</tr>\n<tr>\n<td><code>odd_over</code></td>\n<td>Last digit 5, 7, 9 (payout: 3.3x)</td>\n</tr>\n<tr>\n<td><code>even_under</code></td>\n<td>Last digit 0, 2, 4 (payout: 3.3x)</td>\n</tr>\n<tr>\n<td><code>even_over</code></td>\n<td>Last digit 6, 8 (payout: 3.7x)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"time-intervals\">Time Intervals</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Value</th>\n<th>Duration</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>30</code></td>\n<td>30 seconds</td>\n</tr>\n<tr>\n<td><code>1</code></td>\n<td>1 minute</td>\n</tr>\n<tr>\n<td><code>3</code></td>\n<td>3 minutes</td>\n</tr>\n<tr>\n<td><code>5</code></td>\n<td>5 minutes</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"ffef0269-4ed3-47bd-9ff0-1cf79b58bcbe"},{"name":"Trade","item":[{"name":"Place Order","id":"236a2f0c-19dd-4a9e-8d81-461d883be668","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"side\": \"long\",\n    \"leverage\": 10,\n    \"size\": 0.001,\n    \"marginMode\": \"Cross\",\n    \"type\": \"market\"\n}"},"url":"https://future.maxex.io/v1/trade/place-order","description":"<p>Place a new futures order (market or limit).</p>\n<p>For market orders, the entry price is determined automatically from the current market price. For limit orders, <code>entryPrice</code> is required.</p>\n<p>If an open position already exists for the same coin/side, the order adds to the existing position.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>coin</code></td>\n<td>string</td>\n<td>Yes</td>\n<td>Trading pair (e.g. <code>BTCUSDT</code>, <code>ETHUSDT</code>)</td>\n</tr>\n<tr>\n<td><code>side</code></td>\n<td>string</td>\n<td>Yes</td>\n<td><code>long</code> or <code>short</code></td>\n</tr>\n<tr>\n<td><code>leverage</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Leverage (1-100, capped by coin max leverage)</td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Order quantity</td>\n</tr>\n<tr>\n<td><code>marginMode</code></td>\n<td>string</td>\n<td>Yes</td>\n<td><code>Cross</code> or <code>Isolated</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>Yes</td>\n<td><code>market</code> or <code>limit</code></td>\n</tr>\n<tr>\n<td><code>entryPrice</code></td>\n<td>number</td>\n<td>No</td>\n<td>Required for limit orders</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","place-order"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"248a9f29-da5d-45b8-855b-439e745f4363","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"side\": \"long\",\n    \"leverage\": 10,\n    \"size\": 0.001,\n    \"marginMode\": \"Cross\",\n    \"type\": \"market\"\n}"},"url":"https://future.maxex.io/v1/trade/place-order","description":"Place a new futures order (market or limit).\n\nFor market orders, the entry price is determined automatically from the current market price. For limit orders, `entryPrice` is required.\n\nIf an open position already exists for the same coin/side, the order adds to the existing position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `side` | string | Yes | `long` or `short` |\n| `leverage` | integer | Yes | Leverage (1-100, capped by coin max leverage) |\n| `size` | number | Yes | Order quantity |\n| `marginMode` | string | Yes | `Cross` or `Isolated` |\n| `type` | string | Yes | `market` or `limit` |\n| `entryPrice` | number | No | Required for limit orders |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"result\": {\n        \"orderId\": 456\n    },\n    \"message\": \"Placed successfully!\"\n}"},{"id":"b36ccdc8-27ca-4c2e-8914-19088cc94a91","name":"Insufficient Balance","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"side\": \"long\",\n    \"leverage\": 10,\n    \"size\": 0.001,\n    \"marginMode\": \"Cross\",\n    \"type\": \"market\"\n}"},"url":"https://future.maxex.io/v1/trade/place-order","description":"Place a new futures order (market or limit).\n\nFor market orders, the entry price is determined automatically from the current market price. For limit orders, `entryPrice` is required.\n\nIf an open position already exists for the same coin/side, the order adds to the existing position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `side` | string | Yes | `long` or `short` |\n| `leverage` | integer | Yes | Leverage (1-100, capped by coin max leverage) |\n| `size` | number | Yes | Order quantity |\n| `marginMode` | string | Yes | `Cross` or `Isolated` |\n| `type` | string | Yes | `market` or `limit` |\n| `entryPrice` | number | No | Required for limit orders |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 10001,\n    \"error\": \"Bad Request\",\n    \"message\": \"Insufficient balance!!\"\n}"},{"id":"2c8fc825-57a9-484a-9ed5-06710f712268","name":"Leverage Mismatch","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"coin\": \"BTCUSDT\",\n    \"side\": \"long\",\n    \"leverage\": 10,\n    \"size\": 0.001,\n    \"marginMode\": \"Cross\",\n    \"type\": \"market\"\n}"},"url":"https://future.maxex.io/v1/trade/place-order","description":"Place a new futures order (market or limit).\n\nFor market orders, the entry price is determined automatically from the current market price. For limit orders, `entryPrice` is required.\n\nIf an open position already exists for the same coin/side, the order adds to the existing position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `coin` | string | Yes | Trading pair (e.g. `BTCUSDT`, `ETHUSDT`) |\n| `side` | string | Yes | `long` or `short` |\n| `leverage` | integer | Yes | Leverage (1-100, capped by coin max leverage) |\n| `size` | number | Yes | Order quantity |\n| `marginMode` | string | Yes | `Cross` or `Isolated` |\n| `type` | string | Yes | `market` or `limit` |\n| `entryPrice` | number | No | Required for limit orders |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 10003,\n    \"error\": \"Bad Request\",\n    \"message\": \"Leverage does not match the existing position!\"\n}"}],"_postman_id":"236a2f0c-19dd-4a9e-8d81-461d883be668"},{"name":"Cancel Order","id":"621cef3e-fadd-42a1-9b50-32d9895ae897","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456\n}"},"url":"https://future.maxex.io/v1/trade/cancel-order","description":"<p>Cancel a pending limit order. Only orders with status <code>pending</code> can be cancelled. The margin is refunded to the user's balance.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Position/order ID to cancel</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","cancel-order"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"e0ef6f7b-21b9-4bc2-bd2f-4d47205aaff0","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456\n}"},"url":"https://future.maxex.io/v1/trade/cancel-order","description":"Cancel a pending limit order. Only orders with status `pending` can be cancelled. The margin is refunded to the user's balance.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position/order ID to cancel |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"Order canceled successfully!\"\n}"},{"id":"1a2f8074-6ea9-453d-bb8e-1c77a6a73fe3","name":"Invalid Input","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456\n}"},"url":"https://future.maxex.io/v1/trade/cancel-order","description":"Cancel a pending limit order. Only orders with status `pending` can be cancelled. The margin is refunded to the user's balance.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position/order ID to cancel |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Invalid input!\"\n}"}],"_postman_id":"621cef3e-fadd-42a1-9b50-32d9895ae897"},{"name":"Market Close Position","id":"67daa762-3a7c-4d72-b3dc-f4710ce03df0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/market-close-position","description":"<p>Close an open position at market price. Supports full and partial close.</p>\n<p>If <code>size</code> is less than the position size, a partial close is performed. The remaining position must not fall below the minimum order size for that coin.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Position ID to close</td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Quantity to close</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","market-close-position"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"ffe39f25-15d1-43c1-b085-1d611fb41a41","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/market-close-position","description":"Close an open position at market price. Supports full and partial close.\n\nIf `size` is less than the position size, a partial close is performed. The remaining position must not fall below the minimum order size for that coin.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID to close |\n| `size` | number | Yes | Quantity to close |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"Position closed successfully!\"\n}"},{"id":"d635b2a2-a33a-4dd7-be84-daad33a258a2","name":"Position Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/market-close-position","description":"Close an open position at market price. Supports full and partial close.\n\nIf `size` is less than the position size, a partial close is performed. The remaining position must not fall below the minimum order size for that coin.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID to close |\n| `size` | number | Yes | Quantity to close |"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"Position not found!\"\n}"},{"id":"019095fc-f440-47de-9cc0-405ba87082aa","name":"Below Minimum Size","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/market-close-position","description":"Close an open position at market price. Supports full and partial close.\n\nIf `size` is less than the position size, a partial close is performed. The remaining position must not fall below the minimum order size for that coin.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID to close |\n| `size` | number | Yes | Quantity to close |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Remaining position size (0.0005) would be below minimum (0.001). Please close entire position or adjust close size.\"\n}"}],"_postman_id":"67daa762-3a7c-4d72-b3dc-f4710ce03df0"},{"name":"Close Position (Limit)","id":"88060c26-f077-4480-80a6-7789d26a6c82","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"exitPrice\": 100000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/close-position","description":"<p>Close a position at a specified limit price. Supports full and partial close.</p>\n<p>If the limit price would trigger immediately (e.g., sell limit below market for a long), the order executes at the current market price instead.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Position ID to close</td>\n</tr>\n<tr>\n<td><code>exitPrice</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Limit price to close at</td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Quantity to close</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","close-position"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"d9909aef-f055-46b3-bdc7-5c4e25c58c60","name":"Limit Order Placed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"exitPrice\": 100000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/close-position","description":"Close a position at a specified limit price. Supports full and partial close.\n\nIf the limit price would trigger immediately (e.g., sell limit below market for a long), the order executes at the current market price instead.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID to close |\n| `exitPrice` | number | Yes | Limit price to close at |\n| `size` | number | Yes | Quantity to close |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"Order Placed successfully!\"\n}"},{"id":"1b87eced-491c-4392-8eb6-6baa8762ea80","name":"Executed Immediately","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"exitPrice\": 100000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/close-position","description":"Close a position at a specified limit price. Supports full and partial close.\n\nIf the limit price would trigger immediately (e.g., sell limit below market for a long), the order executes at the current market price instead.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID to close |\n| `exitPrice` | number | Yes | Limit price to close at |\n| `size` | number | Yes | Quantity to close |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"Limit price was below market price - executed immediately at market price!\"\n}"},{"id":"e028bbe5-6e88-4ff0-b320-922fa95c6a65","name":"Position Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"exitPrice\": 100000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/close-position","description":"Close a position at a specified limit price. Supports full and partial close.\n\nIf the limit price would trigger immediately (e.g., sell limit below market for a long), the order executes at the current market price instead.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID to close |\n| `exitPrice` | number | Yes | Limit price to close at |\n| `size` | number | Yes | Quantity to close |"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"Position not found!\"\n}"}],"_postman_id":"88060c26-f077-4480-80a6-7789d26a6c82"},{"name":"Cancel Limit Close","id":"656c4547-b90b-4170-a852-473d31d1bea9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456\n}"},"url":"https://future.maxex.io/v1/trade/cancel-limit-close","description":"<p>Cancel a pending limit close order on a position.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Position ID with limit close to cancel</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","cancel-limit-close"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"fb68f10c-7b60-46d0-a9d9-dc168840b94a","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456\n}"},"url":"https://future.maxex.io/v1/trade/cancel-limit-close","description":"Cancel a pending limit close order on a position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID with limit close to cancel |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"Limit close canceled successfully!\"\n}"},{"id":"b9e0c116-a422-4505-95ee-5d9c5ef1eea6","name":"No Limit Close Set","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456\n}"},"url":"https://future.maxex.io/v1/trade/cancel-limit-close","description":"Cancel a pending limit close order on a position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID with limit close to cancel |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 10004,\n    \"error\": \"Bad Request\",\n    \"message\": \"Position not found or no limit close set!\"\n}"}],"_postman_id":"656c4547-b90b-4170-a852-473d31d1bea9"},{"name":"Set TP/SL","id":"550c99e4-7844-4004-bae1-2fd251c7b1bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"tpPrice\": 105000,\n    \"slPrice\": 95000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/set-tpsl","description":"<p>Set Take Profit and/or Stop Loss on an open position. Either <code>tpPrice</code> or <code>slPrice</code> (or both) can be provided. Setting a new TP/SL replaces the previous one.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Position ID</td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Size for TP/SL trigger</td>\n</tr>\n<tr>\n<td><code>tpPrice</code></td>\n<td>number</td>\n<td>No</td>\n<td>Take profit price</td>\n</tr>\n<tr>\n<td><code>slPrice</code></td>\n<td>number</td>\n<td>No</td>\n<td>Stop loss price</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","set-tpsl"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"b1f3dce4-f3f2-4760-8703-d73783ae4978","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"tpPrice\": 105000,\n    \"slPrice\": 95000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/set-tpsl","description":"Set Take Profit and/or Stop Loss on an open position. Either `tpPrice` or `slPrice` (or both) can be provided. Setting a new TP/SL replaces the previous one.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID |\n| `size` | number | Yes | Size for TP/SL trigger |\n| `tpPrice` | number | No | Take profit price |\n| `slPrice` | number | No | Stop loss price |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"TPSL set successfully!\"\n}"},{"id":"66081c63-c14a-4d6c-bae9-ab9fe4f94f6f","name":"Position Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"tpPrice\": 105000,\n    \"slPrice\": 95000,\n    \"size\": 0.001\n}"},"url":"https://future.maxex.io/v1/trade/set-tpsl","description":"Set Take Profit and/or Stop Loss on an open position. Either `tpPrice` or `slPrice` (or both) can be provided. Setting a new TP/SL replaces the previous one.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID |\n| `size` | number | Yes | Size for TP/SL trigger |\n| `tpPrice` | number | No | Take profit price |\n| `slPrice` | number | No | Stop loss price |"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"Position not found!\"\n}"}],"_postman_id":"550c99e4-7844-4004-bae1-2fd251c7b1bd"},{"name":"Cancel TP/SL","id":"0725db4b-72f0-46d5-9f08-852e54a47050","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"tp\": true,\n    \"sl\": true\n}"},"url":"https://future.maxex.io/v1/trade/cancel-tpsl","description":"<p>Cancel Take Profit and/or Stop Loss on an open position.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Position ID</td>\n</tr>\n<tr>\n<td><code>tp</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Set <code>true</code> to cancel take profit</td>\n</tr>\n<tr>\n<td><code>sl</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Set <code>true</code> to cancel stop loss</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","cancel-tpsl"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"64819b71-f9f2-47c1-b2a5-842f6ab3b43e","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"tp\": true,\n    \"sl\": true\n}"},"url":"https://future.maxex.io/v1/trade/cancel-tpsl","description":"Cancel Take Profit and/or Stop Loss on an open position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID |\n| `tp` | boolean | No | Set `true` to cancel take profit |\n| `sl` | boolean | No | Set `true` to cancel stop loss |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"error\": null,\n    \"message\": \"TPSL canceled successfully!\"\n}"},{"id":"c9a201df-02d8-4056-b239-f22126b09ae8","name":"Position Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": 456,\n    \"tp\": true,\n    \"sl\": true\n}"},"url":"https://future.maxex.io/v1/trade/cancel-tpsl","description":"Cancel Take Profit and/or Stop Loss on an open position.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `id` | integer | Yes | Position ID |\n| `tp` | boolean | No | Set `true` to cancel take profit |\n| `sl` | boolean | No | Set `true` to cancel stop loss |"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"Position not found!\"\n}"}],"_postman_id":"0725db4b-72f0-46d5-9f08-852e54a47050"},{"name":"Set Leverage","id":"9dcb5fc0-ed87-4cfa-8eaf-d18c16208d53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"leverage\": 20\n}"},"url":"https://future.maxex.io/v1/trade/set-leverage","description":"<p>Set the default leverage for the authenticated user. This leverage is used when placing new orders.</p>\n<p><strong>Body Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>leverage</code></td>\n<td>integer</td>\n<td>Yes</td>\n<td>Leverage value (1-100)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","set-leverage"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"7c8c7a93-4a8f-44f7-83af-78c0f0b30494","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"leverage\": 20\n}"},"url":"https://future.maxex.io/v1/trade/set-leverage","description":"Set the default leverage for the authenticated user. This leverage is used when placing new orders.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `leverage` | integer | Yes | Leverage value (1-100) |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"leverage\": 20\n    },\n    \"message\": \"Leverage updated successfully\"\n}"},{"id":"3fd4a532-6c9b-41bb-8c06-93df9f34d53c","name":"User Not Found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"leverage\": 20\n}"},"url":"https://future.maxex.io/v1/trade/set-leverage","description":"Set the default leverage for the authenticated user. This leverage is used when placing new orders.\n\n**Body Parameters:**\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `leverage` | integer | Yes | Leverage value (1-100) |"},"status":"Not Found","code":404,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 404,\n    \"error\": \"Not Found\",\n    \"message\": \"User not found\"\n}"}],"_postman_id":"9dcb5fc0-ed87-4cfa-8eaf-d18c16208d53"},{"name":"Position List","id":"837bb585-3e1b-42d4-bd07-19e7dc256b60","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/trade/position-list?page=1&limit=10","description":"<p>Returns a paginated list of the user's open positions with real-time metrics (unrealized PnL, liquidation price).</p>\n<p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>1</td>\n<td>Page number</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>10</td>\n<td>Items per page</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","position-list"],"host":["https://future.maxex.io"],"query":[{"description":{"content":"<p>Page number (default: 1)</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Items per page (default: 10)</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"98cf36da-b14e-4b90-80e4-b86c822c8157","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/trade/position-list?page=1&limit=10","host":["https://future.maxex.io"],"path":["v1","trade","position-list"],"query":[{"key":"page","value":"1","description":"Page number (default: 1)"},{"key":"limit","value":"10","description":"Items per page (default: 10)"}]},"description":"Returns a paginated list of the user's open positions with real-time metrics (unrealized PnL, liquidation price).\n\n**Query Parameters:**\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| `page` | integer | No | 1 | Page number |\n| `limit` | integer | No | 10 | Items per page |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"list\": [\n            {\n                \"id\": 456,\n                \"coin\": \"BTCUSDT\",\n                \"side\": \"long\",\n                \"size\": 0.001,\n                \"averageEnteryPrice\": 98500,\n                \"leverage\": 10,\n                \"margin\": 9.85,\n                \"realizedPnl\": -0.05,\n                \"marginMode\": \"Cross\",\n                \"createdTime\": 1740499200000,\n                \"tradeType\": \"market\",\n                \"tpPrice\": 105000,\n                \"slPrice\": 95000,\n                \"liquidationPrice\": \"89100.5\",\n                \"unrealizedPnL\": \"1.25\"\n            }\n        ],\n        \"pagination\": {\n            \"page\": 1,\n            \"nextPage\": 2,\n            \"limit\": 10,\n            \"totalRecords\": 15,\n            \"totalPages\": 2\n        }\n    },\n    \"message\": \"OK\"\n}"}],"_postman_id":"837bb585-3e1b-42d4-bd07-19e7dc256b60"},{"name":"Order List","id":"15612100-a48b-42d9-8f98-2316d6140928","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/trade/order-list?page=1&limit=10","description":"<p>Returns a paginated list of the user's pending orders (limit open and limit close orders, excluding TP/SL).</p>\n<p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>1</td>\n<td>Page number</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>10</td>\n<td>Items per page</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","order-list"],"host":["https://future.maxex.io"],"query":[{"description":{"content":"<p>Page number (default: 1)</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Items per page (default: 10)</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"02a5c28a-2d68-45db-862c-3ea30acbf50f","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/trade/order-list?page=1&limit=10","host":["https://future.maxex.io"],"path":["v1","trade","order-list"],"query":[{"key":"page","value":"1","description":"Page number (default: 1)"},{"key":"limit","value":"10","description":"Items per page (default: 10)"}]},"description":"Returns a paginated list of the user's pending orders (limit open and limit close orders, excluding TP/SL).\n\n**Query Parameters:**\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| `page` | integer | No | 1 | Page number |\n| `limit` | integer | No | 10 | Items per page |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"list\": [\n            {\n                \"id\": 456,\n                \"coin\": \"BTCUSDT\",\n                \"leverage\": 10,\n                \"orderType\": \"limit\",\n                \"side\": \"long\",\n                \"entryPrice\": 95000,\n                \"marginMode\": \"Cross\",\n                \"exitPrice\": 100000,\n                \"size\": 0.001,\n                \"tradeType\": \"open\",\n                \"tradingFee\": -0.01,\n                \"createdTime\": 1740499200000\n            }\n        ],\n        \"pagination\": {\n            \"page\": 1,\n            \"nextPage\": null,\n            \"limit\": 10,\n            \"totalRecords\": 3,\n            \"totalPages\": 1\n        }\n    },\n    \"message\": \"OK\"\n}"}],"_postman_id":"15612100-a48b-42d9-8f98-2316d6140928"},{"name":"Trade History","id":"0f7ab67a-9a51-4038-a2d0-fbdafa50a6cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/trade/trade-history?page=1&limit=10","description":"<p>Returns a paginated list of the user's executed trade history (excluding pending orders).</p>\n<p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>integer</td>\n<td>No</td>\n<td>1</td>\n<td>Page number</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>integer</td>\n<td>No</td>\n<td>10</td>\n<td>Items per page (max 100)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","trade","trade-history"],"host":["https://future.maxex.io"],"query":[{"description":{"content":"<p>Page number (default: 1)</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Items per page (1-100, default: 10)</p>\n","type":"text/plain"},"key":"limit","value":"10"}],"variable":[]}},"response":[{"id":"30fbb8d9-b5f9-4b96-ab54-6a56f87b6286","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/trade/trade-history?page=1&limit=10","host":["https://future.maxex.io"],"path":["v1","trade","trade-history"],"query":[{"key":"page","value":"1","description":"Page number (default: 1)"},{"key":"limit","value":"10","description":"Items per page (1-100, default: 10)"}]},"description":"Returns a paginated list of the user's executed trade history (excluding pending orders).\n\n**Query Parameters:**\n\n| Param | Type | Required | Default | Description |\n|-------|------|----------|---------|-------------|\n| `page` | integer | No | 1 | Page number |\n| `limit` | integer | No | 10 | Items per page (max 100) |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"list\": [\n            {\n                \"id\": 456,\n                \"coin\": \"BTCUSDT\",\n                \"side\": \"long\",\n                \"leverage\": 10,\n                \"tradePrice\": 100500,\n                \"size\": 0.001,\n                \"tradeType\": \"full_close\",\n                \"orderType\": \"market\",\n                \"tradingFee\": -0.1,\n                \"status\": \"executed\",\n                \"createdTime\": 1740499260000\n            }\n        ],\n        \"pagination\": {\n            \"page\": 1,\n            \"nextPage\": null,\n            \"limit\": 10,\n            \"totalRecords\": 5,\n            \"totalPages\": 1\n        }\n    },\n    \"message\": \"OK\"\n}"}],"_postman_id":"0f7ab67a-9a51-4038-a2d0-fbdafa50a6cd"}],"id":"cabd3fa8-b02c-4a15-8bf3-ae4d88726fab","_postman_id":"cabd3fa8-b02c-4a15-8bf3-ae4d88726fab","description":""},{"name":"Market","item":[{"name":"Get Candles (Kline)","id":"43873dd2-5053-41b7-96f5-9bed0b585cfe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/public/market/candle?symbol=BTCUSDT&interval=1","description":"<p>Returns candlestick/kline data for a trading pair.</p>\n<p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>symbol</code></td>\n<td>string</td>\n<td>No</td>\n<td>Trading pair (e.g. <code>BTCUSDT</code>)</td>\n</tr>\n<tr>\n<td><code>interval</code></td>\n<td>string</td>\n<td>No</td>\n<td>Candle interval: <code>1</code>, <code>3</code>, <code>5</code>, <code>15</code>, <code>30</code>, <code>60</code>, <code>120</code>, <code>240</code>, <code>360</code>, <code>720</code>, <code>D</code>, <code>W</code>, <code>M</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","public","market","candle"],"host":["https://future.maxex.io"],"query":[{"description":{"content":"<p>Trading pair (e.g. BTCUSDT)</p>\n","type":"text/plain"},"key":"symbol","value":"BTCUSDT"},{"description":{"content":"<p>Candle interval: 1, 3, 5, 15, 30, 60, 120, 240, 360, 720, D, W, M</p>\n","type":"text/plain"},"key":"interval","value":"1"}],"variable":[]}},"response":[{"id":"fe728970-aaaa-4f0a-82f1-45f03dc3ee99","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/public/market/candle?symbol=BTCUSDT&interval=1","host":["https://future.maxex.io"],"path":["v1","public","market","candle"],"query":[{"key":"symbol","value":"BTCUSDT","description":"Trading pair (e.g. BTCUSDT)"},{"key":"interval","value":"1","description":"Candle interval: 1, 3, 5, 15, 30, 60, 120, 240, 360, 720, D, W, M"}]},"description":"Returns candlestick/kline data for a trading pair.\n\n**Query Parameters:**\n\n| Param | Type | Required | Description |\n|-------|------|----------|-------------|\n| `symbol` | string | No | Trading pair (e.g. `BTCUSDT`) |\n| `interval` | string | No | Candle interval: `1`, `3`, `5`, `15`, `30`, `60`, `120`, `240`, `360`, `720`, `D`, `W`, `M` |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"symbol\": \"BTCUSDT\",\n        \"interval\": \"1\",\n        \"list\": []\n    },\n    \"message\": \"OK\"\n}"},{"id":"fb2ac40b-dd3d-4a99-a9cf-a62708e3724f","name":"Invalid Symbol","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/public/market/candle?symbol=BTCUSDT&interval=1","host":["https://future.maxex.io"],"path":["v1","public","market","candle"],"query":[{"key":"symbol","value":"BTCUSDT","description":"Trading pair (e.g. BTCUSDT)"},{"key":"interval","value":"1","description":"Candle interval: 1, 3, 5, 15, 30, 60, 120, 240, 360, 720, D, W, M"}]},"description":"Returns candlestick/kline data for a trading pair.\n\n**Query Parameters:**\n\n| Param | Type | Required | Description |\n|-------|------|----------|-------------|\n| `symbol` | string | No | Trading pair (e.g. `BTCUSDT`) |\n| `interval` | string | No | Candle interval: `1`, `3`, `5`, `15`, `30`, `60`, `120`, `240`, `360`, `720`, `D`, `W`, `M` |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Invalid symbol 'INVALIDUSDT'. Allowed symbols: BTCUSDT, ETHUSDT, ...\"\n}"}],"_postman_id":"43873dd2-5053-41b7-96f5-9bed0b585cfe"},{"name":"Get Tickers","id":"31dec80d-13cd-497c-b8e6-4c8ab318acb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/public/market/tickers?symbol=BTCUSDT","description":"<p>Returns current ticker data (last price, mark price, index price, open interest) for a trading pair.</p>\n<p><strong>Query Parameters:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>symbol</code></td>\n<td>string</td>\n<td>No</td>\n<td>Trading pair (e.g. <code>BTCUSDT</code>)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v1","public","market","tickers"],"host":["https://future.maxex.io"],"query":[{"description":{"content":"<p>Trading pair (e.g. BTCUSDT)</p>\n","type":"text/plain"},"key":"symbol","value":"BTCUSDT"}],"variable":[]}},"response":[{"id":"661bf4cf-22a8-4ebf-8344-3373571cfe37","name":"Success","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/public/market/tickers?symbol=BTCUSDT","host":["https://future.maxex.io"],"path":["v1","public","market","tickers"],"query":[{"key":"symbol","value":"BTCUSDT","description":"Trading pair (e.g. BTCUSDT)"}]},"description":"Returns current ticker data (last price, mark price, index price, open interest) for a trading pair.\n\n**Query Parameters:**\n\n| Param | Type | Required | Description |\n|-------|------|----------|-------------|\n| `symbol` | string | No | Trading pair (e.g. `BTCUSDT`) |"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"symbol\": \"BTCUSDT\",\n        \"lastPrice\": \"98500.50\",\n        \"markPrice\": \"98495.30\",\n        \"indexPrice\": \"98498.00\",\n        \"holdingAmount\": \"125000.5\"\n    },\n    \"message\": \"OK\"\n}"},{"id":"c5818f53-5342-41e6-8101-67a640ab28cc","name":"Invalid Coin","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://future.maxex.io/v1/public/market/tickers?symbol=BTCUSDT","host":["https://future.maxex.io"],"path":["v1","public","market","tickers"],"query":[{"key":"symbol","value":"BTCUSDT","description":"Trading pair (e.g. BTCUSDT)"}]},"description":"Returns current ticker data (last price, mark price, index price, open interest) for a trading pair.\n\n**Query Parameters:**\n\n| Param | Type | Required | Description |\n|-------|------|----------|-------------|\n| `symbol` | string | No | Trading pair (e.g. `BTCUSDT`) |"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 400,\n    \"error\": \"Bad Request\",\n    \"message\": \"Invalid coin 'INVALIDUSDT'. Allowed coins: BTCUSDT, ETHUSDT, ...\"\n}"}],"_postman_id":"31dec80d-13cd-497c-b8e6-4c8ab318acb2"}],"id":"b3b6ea89-d556-4600-a5d5-fc3e568205fe","description":"<p>Public market endpoints. No authentication required.</p>\n","_postman_id":"b3b6ea89-d556-4600-a5d5-fc3e568205fe"},{"name":"Account","item":[{"name":"Get Assets","id":"7d32d86b-f3e2-4d53-8e98-099a64ddfe43","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/account/assets","description":"<p>Returns the user's account balance information including available balance, total balance, and total unrealized PnL.</p>\n<p>No query parameters needed — the user is identified via the API key.</p>\n","urlObject":{"path":["v1","account","assets"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"48e5c02a-5e93-4caa-99f2-646ffc4c71e2","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/account/assets","description":"Returns the user's account balance information including available balance, total balance, and total unrealized PnL.\n\nNo query parameters needed — the user is identified via the API key."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"coin\": \"USDT\",\n        \"availableBalance\": 5000.50,\n        \"totalBalance\": 5500.25,\n        \"totalUnrealizedPnL\": 125.75\n    },\n    \"message\": \"OK\"\n}"}],"_postman_id":"7d32d86b-f3e2-4d53-8e98-099a64ddfe43"},{"name":"Get Account Information","id":"829dd708-0304-429f-9189-d334a157da54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/account/information","description":"<p>Returns the user's account identification information (UUID).</p>\n<p>No query parameters needed — the user is identified via the API key.</p>\n","urlObject":{"path":["v1","account","information"],"host":["https://future.maxex.io"],"query":[],"variable":[]}},"response":[{"id":"bc9aaea0-275d-4a5c-8998-b7cb3feda69a","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://future.maxex.io/v1/account/information","description":"Returns the user's account identification information (UUID).\n\nNo query parameters needed — the user is identified via the API key."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"statusCode\": 200,\n    \"result\": {\n        \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n    },\n    \"message\": \"OK\"\n}"}],"_postman_id":"829dd708-0304-429f-9189-d334a157da54"}],"id":"9c409397-8d9c-4a01-bb48-8e357f4ecfdb","_postman_id":"9c409397-8d9c-4a01-bb48-8e357f4ecfdb","description":""}],"event":[{"listen":"prerequest","script":{"id":"13a758e9-df76-4a71-9892-dc272b8676ef","type":"text/javascript","requests":{},"exec":["const apiKey = pm.collectionVariables.get('apiKey');","const secretKey = pm.collectionVariables.get('secretKey');","const apiKeyHeader = pm.collectionVariables.get('apiKeyHeader');","const signatureHeader = pm.collectionVariables.get('signatureHeader');","","// Skip auth for public endpoints","const url = pm.request.url.toString();","if (url.includes('/v1/public/')) { return; }","","let requestParams = '';","","if (pm.request.method === 'GET') {","    const qIndex = url.indexOf('?');","    if (qIndex !== -1) {","        requestParams = url.substring(qIndex + 1);","    }","} else {","    const rawBody = pm.request.body ? pm.request.body.raw : '';","    if (rawBody) {","        requestParams = rawBody;","    }","}","","const message = apiKey + requestParams;","const signature = CryptoJS.HmacSHA256(message, secretKey).toString(CryptoJS.enc.Hex);","","pm.request.headers.add({ key: apiKeyHeader, value: apiKey });","pm.request.headers.add({ key: signatureHeader, value: signature });"]}},{"listen":"test","script":{"id":"d6128bc3-0480-4c09-aea2-8ca4792a606b","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://future.maxex.io"},{"key":"apiKey","value":"your-api-key"},{"key":"secretKey","value":"your-secret-key"},{"key":"apiKeyHeader","value":"X-MAXEX-API-KEY","description":"Header name for API key"},{"key":"signatureHeader","value":"X-MAXEX-SIGN","description":"Header name for signature"}]}