{ "status": "success", "data": [ { "id": "tx_6af0d057a1c94e2b8d3f60a7c5e1b28d", "type": "order", "effect": "credit", "amount": 6.55, "title": "Markets - Sold", "market_title": "KC @ BUF • Chiefs to win", "created_at": 1794166871236, "order": { "id": "ord_6af0d056c50d27e8a6b19f34d0e8c3a1", "side": "yes", "yes_price": 0.665, "no_price": 0.335, "quantity": 10, "status": "executed", "fill_cost": 0, "updated_at": 1794166871236, "created_at": 1794166870000, "executed_at": 1794166871236, "remaining_quantity": 0, "fill_quantity": 10, "fees": 0.1, "action": "sell", "splash_action": "sell", "proceeds": 6.65, "splash_side": "yes", "trade_price": 0.655, "proceeds_minus_fees": 6.55, "fill_cost_plus_fees": 0, "request_id": "c47b19e2-0f6d-4b8a-a3e5-71d9f2c08a56", "time_in_force": "FOK" }, "market": { "id": "pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412", "provider_ticker": "aec-nfl-kc-buf-2026-11-08", "title": "Kansas City Chiefs to win the game?", "sub_category": "nfl", "type": "moneyline", "event_id": "4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c", "event_start": 1794160800000, "moneyline_type": "two_way", "team_id": "6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21", "yes_team_id": "6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21", "no_team_id": "768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e", "price_yes": { "american": "-144", "decimal": "1.69x", "percentage": "59%", "price": "$0.59", "numeric_price": 0.59 }, "price_no": { "american": "+138", "decimal": "2.38x", "percentage": "42%", "price": "$0.42", "numeric_price": 0.42 }, "volume": 184532.17, "liquidity": 9266.25, "yes_liquidity": 5378.8, "no_liquidity": 4334.95, "last_price_yes": 0.585, "last_price_no": 0.415, "status": "active", "updated_at": 1793977442118, "rules": "This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.", "market_group_id": "pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02" } }, { "id": "tx_6aedec66e2b7c4a9f0d18e53b6a2c7f4", "type": "order", "effect": "debit", "amount": 5.97, "title": "Markets - Bought", "market_title": "KC @ BUF • Chiefs to win", "created_at": 1793977446412, "order": { "id": "ord_6aedec658f3a61c2d94e07b5a1c6e2d9", "side": "yes", "yes_price": 0.585, "no_price": 0.415, "quantity": 10, "status": "executed", "fill_cost": 5.85, "updated_at": 1793977446412, "created_at": 1793977445000, "executed_at": 1793977446412, "remaining_quantity": 0, "fill_quantity": 10, "fees": 0.12, "action": "buy", "splash_action": "buy", "proceeds": 0, "splash_side": "yes", "trade_price": 0.597, "proceeds_minus_fees": 0, "fill_cost_plus_fees": 5.97, "request_id": "3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10", "time_in_force": "FOK" }, "market": { "id": "pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412", "provider_ticker": "aec-nfl-kc-buf-2026-11-08", "title": "Kansas City Chiefs to win the game?", "sub_category": "nfl", "type": "moneyline", "event_id": "4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c", "event_start": 1794160800000, "moneyline_type": "two_way", "team_id": "6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21", "yes_team_id": "6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21", "no_team_id": "768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e", "price_yes": { "american": "-144", "decimal": "1.69x", "percentage": "59%", "price": "$0.59", "numeric_price": 0.59 }, "price_no": { "american": "+138", "decimal": "2.38x", "percentage": "42%", "price": "$0.42", "numeric_price": 0.42 }, "volume": 184532.17, "liquidity": 9266.25, "yes_liquidity": 5378.8, "no_liquidity": 4334.95, "last_price_yes": 0.585, "last_price_no": 0.415, "status": "active", "updated_at": 1793977442118, "rules": "This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.", "market_group_id": "pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02" } } ], "total": 2, "offset": 0, "limit": 50}
Activity
List transactions
Every movement of cash your trading caused, newest first: each order that filled (type: order, a debit for a buy and a credit for a sale) and each settlement payout (type: settlement, always a credit). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in settlement. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with List orders.
Use from and to (ISO 8601 timestamps with a time zone) to read a period, and limit and offset to page. amount is always positive; effect says which way the cash moved. To see how a position ended, use Get a position; for its settlement record, use this list.
Sign the request with your API key; see Authentication. It always reads the key’s own account: a user_id query parameter is refused with a 401.
Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See Authentication.
Only transactions at or after this time. An ISO 8601 timestamp with a time zone, such as 2026-11-01T00:00:00Z or 2026-11-01T00:00:00-05:00; not epoch milliseconds. Anything else is a 400.
Your transactions, newest first by created_at. A transaction whose market can no longer be read is left out, so a page can hold fewer than limit items while total still counts it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Splash API","description":"Reference for the Splash prediction markets API.","colors":{"primary":"#00938A","light":"#4BEBE2","dark":"#00938A"},"logo":{"light":"https://mintcdn.com/splashsports/kcAVKCSKVe9QsybE/images/Black.png?fit=max\u0026auto=format\u0026n=kcAVKCSKVe9QsybE\u0026q=85\u0026s=e3ebef52faf215906edfadd8cb6b8f6c","dark":"https://mintcdn.com/splashsports/kcAVKCSKVe9QsybE/images/White.png?fit=max\u0026auto=format\u0026n=kcAVKCSKVe9QsybE\u0026q=85\u0026s=a8584598d170913784d340dade069923","href":"https://app.splashsports.com"},"favicon":{"light":"https://mintcdn.com/splashsports/1BB4AfLu_rKwvYf6/images/whale.png?fit=max\u0026auto=format\u0026n=1BB4AfLu_rKwvYf6\u0026q=85\u0026s=b75628cc9f5c8118e0b5ba38db00eed9","dark":"https://mintcdn.com/splashsports/1BB4AfLu_rKwvYf6/images/whale.png?fit=max\u0026auto=format\u0026n=1BB4AfLu_rKwvYf6\u0026q=85\u0026s=b75628cc9f5c8118e0b5ba38db00eed9"},"api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript","typescript","go"]}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"splashsports","hasAudioNarration":false,"actualSubdomain":"splashsports","customDomains":["docs.splashsports.com"],"gitSource":{"type":"github","owner":"betterpool","repo":"splash-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ae8d2a45882bf25ccb849ef"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae960ce8ff06975e05bdd21","collectionId":"8376c49e-6882-4070-be1c-ae3b565e9adc","liveDeploymentHistoryId":"6ae960ce8ff06975e05bdd21","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae96712b788bf0e78a62a70","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Predictions API","count":61},{"language":"default","tag":"Types","count":38},{"language":"default","tag":"Reference","count":16},{"language":"default","tag":"Getting started","count":7},{"language":"default","tag":"Positions","count":4},{"language":"default","tag":"Markets","count":3},{"language":"default","tag":"Orders","count":3},{"language":"default","tag":"Account","count":2},{"language":"default","tag":"Activity","count":1},{"language":"default","tag":"Discover","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"predictions/reference/activity/list-transactions","slug":"/predictions/reference/activity/list-transactions","pageMetadata":{"title":"List transactions","description":"Every movement of cash your trading caused, newest first: each order that filled (`type: order`, a `debit` for a buy and a `credit` for a sale) and each settlement payout (`type: settlement`, always a `credit`). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in `settlement`. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with [List orders](/predictions/reference/orders/list-orders).\n\nUse `from` and `to` (ISO 8601 timestamps with a time zone) to read a period, and `limit` and `offset` to page. `amount` is always positive; `effect` says which way the cash moved. To see how a position ended, use [Get a position](/predictions/reference/positions/get-a-position); for its settlement record, use this list.\n\nSign the request with your API key; see [Authentication](/predictions/authentication). It always reads the key's own account: a `user_id` query parameter is refused with a `401`.","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /transactions","href":"/predictions/reference/activity/list-transactions","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Every movement of cash your trading caused, newest first: each order that filled (\", _jsx(_components.code, {\n children: \"type: order\"\n }), \", a \", _jsx(_components.code, {\n children: \"debit\"\n }), \" for a buy and a \", _jsx(_components.code, {\n children: \"credit\"\n }), \" for a sale) and each settlement payout (\", _jsx(_components.code, {\n children: \"type: settlement\"\n }), \", always a \", _jsx(_components.code, {\n children: \"credit\"\n }), \"). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in \", _jsx(_components.code, {\n children: \"settlement\"\n }), \". A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with \", _jsx(_components.a, {\n href: \"/predictions/reference/orders/list-orders\",\n children: \"List orders\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Use \", _jsx(_components.code, {\n children: \"from\"\n }), \" and \", _jsx(_components.code, {\n children: \"to\"\n }), \" (ISO 8601 timestamps with a time zone) to read a period, and \", _jsx(_components.code, {\n children: \"limit\"\n }), \" and \", _jsx(_components.code, {\n children: \"offset\"\n }), \" to page. \", _jsx(_components.code, {\n children: \"amount\"\n }), \" is always positive; \", _jsx(_components.code, {\n children: \"effect\"\n }), \" says which way the cash moved. To see how a position ended, use \", _jsx(_components.a, {\n href: \"/predictions/reference/positions/get-a-position\",\n children: \"Get a position\"\n }), \"; for its settlement record, use this list.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Sign the request with your API key; see \", _jsx(_components.a, {\n href: \"/predictions/authentication\",\n children: \"Authentication\"\n }), \". It always reads the key’s own account: a \", _jsx(_components.code, {\n children: \"user_id\"\n }), \" query parameter is refused with a \", _jsx(_components.code, {\n children: \"401\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List transactions","description":"Every movement of cash your trading caused, newest first: each order that filled (`type: order`, a `debit` for a buy and a `credit` for a sale) and each settlement payout (`type: settlement`, always a `credit`). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in `settlement`. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with [List orders](/predictions/reference/orders/list-orders).\n\nUse `from` and `to` (ISO 8601 timestamps with a time zone) to read a period, and `limit` and `offset` to page. `amount` is always positive; `effect` says which way the cash moved. To see how a position ended, use [Get a position](/predictions/reference/positions/get-a-position); for its settlement record, use this list.\n\nSign the request with your API key; see [Authentication](/predictions/authentication). It always reads the key's own account: a `user_id` query parameter is refused with a `401`.","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /transactions","href":"/predictions/reference/activity/list-transactions","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Activity"],"operationId":"listTransactions","summary":"List transactions","security":["faa395e5-9bba-47ff-aee0-b46875622528"],"description":"Every movement of cash your trading caused, newest first: each order that filled (`type: order`, a `debit` for a buy and a `credit` for a sale) and each settlement payout (`type: settlement`, always a `credit`). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in `settlement`. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with [List orders](/predictions/reference/orders/list-orders).\n\nUse `from` and `to` (ISO 8601 timestamps with a time zone) to read a period, and `limit` and `offset` to page. `amount` is always positive; `effect` says which way the cash moved. To see how a position ended, use [Get a position](/predictions/reference/positions/get-a-position); for its settlement record, use this list.\n\nSign the request with your API key; see [Authentication](/predictions/authentication). It always reads the key's own account: a `user_id` query parameter is refused with a `401`.","parameters":["da86e758-4e69-461a-826c-f0642814c509","770fa1fc-6a1c-4e46-b285-39b5069103e0","c0e08bc4-ff7d-43d0-b79c-2597e37df46e","0bae834c-0898-42e1-a8bd-fc54fa879aef"],"responses":{"200":"6274ce61-87f4-4af0-a0c8-f92cb241e050","400":"d5a3ea6a-21a9-4084-95a6-76c328d4a7a2","401":"b7266a9f-4f44-4131-9f83-15d809e8a5ca","429":"b212a5e3-bf61-494e-9624-54dd4ffe77b1","500":"8089ba2a-ccce-4eea-9282-dd878cdeaa1c","503":"a9a110d1-365a-4117-bec8-3fdbfdb53e03"},"x-codeSamples":[{"lang":"bash","label":"cURL","source":"KEY=\"your-key-id\"\nSECRET=\"your-secret\"\nMETHOD=\"GET\"\nURLPATH=\"/predictions-service/api/transactions?limit=20\"\nBODY=\"\"\n\nTS=$(( $(date +%s) * 1000 ))\nSIG=$(printf '%s' \"$TS$METHOD$URLPATH$BODY\" | openssl dgst -sha256 -hmac \"$SECRET\" -binary | base64)\n\ncurl -X \"$METHOD\" \"https://api.splashsports.com$URLPATH\" \\\n -H \"SPLASH-ACCESS-KEY: $KEY\" \\\n -H \"SPLASH-ACCESS-TIMESTAMP: $TS\" \\\n -H \"SPLASH-ACCESS-SIGNATURE: $SIG\""},{"lang":"python","label":"Python","source":"import base64, hashlib, hmac, json, time\nimport requests\n\nKEY = \"your-key-id\"\nSECRET = \"your-secret\"\nHOST = \"https://api.splashsports.com\"\n\n\ndef sign(secret, timestamp, method, path, body):\n message = (timestamp + method + path + body).encode(\"utf-8\")\n digest = hmac.new(secret.encode(\"utf-8\"), message, hashlib.sha256).digest()\n return base64.b64encode(digest).decode(\"ascii\")\n\n\ndef request(method, path, payload=None):\n body = json.dumps(payload, separators=(\",\", \":\")) if payload is not None else \"\"\n timestamp = str(int(time.time() * 1000))\n headers = {\n \"Content-Type\": \"application/json\",\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n }\n return requests.request(method, HOST + path, headers=headers, data=body.encode(\"utf-8\"))\n\n\nresponse = request(\"GET\", \"/predictions-service/api/transactions?limit=20\")\nprint(response.status_code, response.json())"},{"lang":"typescript","label":"TypeScript","source":"import { createHmac } from \"node:crypto\";\n\nconst KEY = \"your-key-id\";\nconst SECRET = \"your-secret\";\nconst HOST = \"https://api.splashsports.com\";\n\nfunction sign(secret: string, timestamp: string, method: string, path: string, body: string): string {\n return createHmac(\"sha256\", secret).update(timestamp + method + path + body, \"utf8\").digest(\"base64\");\n}\n\nconst method = \"GET\";\nconst path = \"/predictions-service/api/transactions?limit=20\";\nconst body = \"\";\nconst timestamp = Date.now().toString();\n\nconst response = await fetch(HOST + path, {\n method,\n headers: {\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n },\n});\nconsole.log(response.status, await response.json());"},{"lang":"go","label":"Go","source":"package main\n\nimport (\n\t\"bytes\"\n\t\"crypto/hmac\"\n\t\"crypto/sha256\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"time\"\n)\n\nconst (\n\tkey = \"your-key-id\"\n\tsecret = \"your-secret\"\n\thost = \"https://api.splashsports.com\"\n)\n\nfunc sign(secret, timestamp, method, path string, body []byte) string {\n\tmac := hmac.New(sha256.New, []byte(secret))\n\tmac.Write([]byte(timestamp + method + path))\n\tmac.Write(body)\n\treturn base64.StdEncoding.EncodeToString(mac.Sum(nil))\n}\n\nfunc main() {\n\tmethod := \"GET\"\n\tpath := \"/predictions-service/api/transactions?limit=20\"\n\n\tvar body []byte // no body: the signature covers the empty string\n\ttimestamp := strconv.FormatInt(time.Now().UnixMilli(), 10)\n\n\treq, err := http.NewRequest(method, host+path, bytes.NewReader(body))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"SPLASH-ACCESS-KEY\", key)\n\treq.Header.Set(\"SPLASH-ACCESS-TIMESTAMP\", timestamp)\n\treq.Header.Set(\"SPLASH-ACCESS-SIGNATURE\", sign(secret, timestamp, method, path, body))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\tout, _ := io.ReadAll(resp.Body)\n\tfmt.Println(resp.StatusCode, string(out))\n}"}],"method":"get","type":"path","servers":["d7d3b42f-0ca4-43cd-8663-0e65fcf09fe8"],"path":"/transactions","baseUrlOptions":["https://api.splashsports.com/predictions-service/api"],"title":"List transactions","codeSamples":[{"label":"cURL","lang":"bash","source":"KEY=\"your-key-id\"\nSECRET=\"your-secret\"\nMETHOD=\"GET\"\nURLPATH=\"/predictions-service/api/transactions?limit=20\"\nBODY=\"\"\n\nTS=$(( $(date +%s) * 1000 ))\nSIG=$(printf '%s' \"$TS$METHOD$URLPATH$BODY\" | openssl dgst -sha256 -hmac \"$SECRET\" -binary | base64)\n\ncurl -X \"$METHOD\" \"https://api.splashsports.com$URLPATH\" \\\n -H \"SPLASH-ACCESS-KEY: $KEY\" \\\n -H \"SPLASH-ACCESS-TIMESTAMP: $TS\" \\\n -H \"SPLASH-ACCESS-SIGNATURE: $SIG\""},{"label":"Python","lang":"python","source":"import base64, hashlib, hmac, json, time\nimport requests\n\nKEY = \"your-key-id\"\nSECRET = \"your-secret\"\nHOST = \"https://api.splashsports.com\"\n\n\ndef sign(secret, timestamp, method, path, body):\n message = (timestamp + method + path + body).encode(\"utf-8\")\n digest = hmac.new(secret.encode(\"utf-8\"), message, hashlib.sha256).digest()\n return base64.b64encode(digest).decode(\"ascii\")\n\n\ndef request(method, path, payload=None):\n body = json.dumps(payload, separators=(\",\", \":\")) if payload is not None else \"\"\n timestamp = str(int(time.time() * 1000))\n headers = {\n \"Content-Type\": \"application/json\",\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n }\n return requests.request(method, HOST + path, headers=headers, data=body.encode(\"utf-8\"))\n\n\nresponse = request(\"GET\", \"/predictions-service/api/transactions?limit=20\")\nprint(response.status_code, response.json())"},{"label":"TypeScript","lang":"typescript","source":"import { createHmac } from \"node:crypto\";\n\nconst KEY = \"your-key-id\";\nconst SECRET = \"your-secret\";\nconst HOST = \"https://api.splashsports.com\";\n\nfunction sign(secret: string, timestamp: string, method: string, path: string, body: string): string {\n return createHmac(\"sha256\", secret).update(timestamp + method + path + body, \"utf8\").digest(\"base64\");\n}\n\nconst method = \"GET\";\nconst path = \"/predictions-service/api/transactions?limit=20\";\nconst body = \"\";\nconst timestamp = Date.now().toString();\n\nconst response = await fetch(HOST + path, {\n method,\n headers: {\n \"SPLASH-ACCESS-KEY\": KEY,\n \"SPLASH-ACCESS-TIMESTAMP\": timestamp,\n \"SPLASH-ACCESS-SIGNATURE\": sign(SECRET, timestamp, method, path, body),\n },\n});\nconsole.log(response.status, await response.json());"},{"label":"Go","lang":"go","source":"package main\n\nimport (\n\t\"bytes\"\n\t\"crypto/hmac\"\n\t\"crypto/sha256\"\n\t\"encoding/base64\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"strconv\"\n\t\"time\"\n)\n\nconst (\n\tkey = \"your-key-id\"\n\tsecret = \"your-secret\"\n\thost = \"https://api.splashsports.com\"\n)\n\nfunc sign(secret, timestamp, method, path string, body []byte) string {\n\tmac := hmac.New(sha256.New, []byte(secret))\n\tmac.Write([]byte(timestamp + method + path))\n\tmac.Write(body)\n\treturn base64.StdEncoding.EncodeToString(mac.Sum(nil))\n}\n\nfunc main() {\n\tmethod := \"GET\"\n\tpath := \"/predictions-service/api/transactions?limit=20\"\n\n\tvar body []byte // no body: the signature covers the empty string\n\ttimestamp := strconv.FormatInt(time.Now().UnixMilli(), 10)\n\n\treq, err := http.NewRequest(method, host+path, bytes.NewReader(body))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"SPLASH-ACCESS-KEY\", key)\n\treq.Header.Set(\"SPLASH-ACCESS-TIMESTAMP\", timestamp)\n\treq.Header.Set(\"SPLASH-ACCESS-SIGNATURE\", sign(secret, timestamp, method, path, body))\n\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer resp.Body.Close()\n\tout, _ := io.ReadAll(resp.Body)\n\tfmt.Println(resp.StatusCode, string(out))\n}"}],"requestExampleLanguages":["bash","python","javascript","typescript","go"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"da86e758-4e69-461a-826c-f0642814c509":{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":50,"description":"Page size, 1 to 50. Default 50.","uniqueKey":"","typeLabel":"integer"},"description":"Page size, 1 to 50. Default 50.","example":20},"770fa1fc-6a1c-4e46-b285-39b5069103e0":{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0,"description":"Transactions to skip, 0 or more. Default 0. Page with `offset += limit` and stop when `offset + limit >= total`.","uniqueKey":"","typeLabel":"integer"},"description":"Transactions to skip, 0 or more. Default 0. Page with `offset += limit` and stop when `offset + limit >= total`.","example":0},"c0e08bc4-ff7d-43d0-b79c-2597e37df46e":{"name":"from","in":"query","schema":{"type":"string","format":"date-time","description":"Only transactions at or after this time. An ISO 8601 timestamp with a time zone, such as `2026-11-01T00:00:00Z` or `2026-11-01T00:00:00-05:00`; not epoch milliseconds. Anything else is a `400`.","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"description":"Only transactions at or after this time. An ISO 8601 timestamp with a time zone, such as `2026-11-01T00:00:00Z` or `2026-11-01T00:00:00-05:00`; not epoch milliseconds. Anything else is a `400`.","example":"2026-11-01T00:00:00Z"},"0bae834c-0898-42e1-a8bd-fc54fa879aef":{"name":"to","in":"query","schema":{"type":"string","format":"date-time","description":"Only transactions at or before this time. The same format as `from`.","uniqueKey":"","typeLabel":"string\u003cdate-time>"},"description":"Only transactions at or before this time. The same format as `from`.","example":"2026-11-30T23:59:59Z"}},"responses":{"6274ce61-87f4-4af0-a0c8-f92cb241e050":{"description":"Your transactions, newest first.","content":{"application/json":{"schema":{"type":"object","title":"TransactionListResponse","description":"Your transactions, newest first.","required":["status","data","total","offset","limit"],"properties":{"status":{"type":"string","const":"success","description":"Always `success` on a 200.","example":"success","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"data":{"type":"array","items":{"type":"object","title":"Transaction","description":"One movement of cash on your account from trading: an order filling (`type: order`) or a position being paid out at settlement (`type: settlement`). One flat object for both: `order` is present only on an order transaction and `settlement` only on a settlement transaction. Money is in dollars; timestamps are epoch milliseconds.","required":["id","type","effect","amount","title","market_title","created_at","market"],"properties":{"id":{"type":"string","description":"The transaction's id, prefixed `tx_`.","example":"tx_6aedec66e2b7c4a9f0d18e53b6a2c7f4","isRequired":true,"uniqueKey":"data.items.[INDEX].id","typeLabel":"string"},"type":{"type":"string","enum":["order","settlement"],"description":"What moved the cash. `order`: an order filled, or a fill was later voided and reversed; `order` holds the order. `settlement`: the market settled and your position was paid out; `settlement` holds the record. A position that settles worthless pays nothing and has no transaction.","example":"order","isRequired":true,"uniqueKey":"data.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"effect":{"type":"string","enum":["debit","credit"],"description":"Which way the cash moved. `debit`: taken from your cash (a buy that filled, or the reversal of a voided sale). `credit`: added to your cash (a sale that filled, a settlement payout, or the refund of a voided buy). Always `credit` on a settlement.","example":"debit","isRequired":true,"uniqueKey":"data.items.[INDEX].effect","typeLabel":"enum\u003cstring>"},"amount":{"type":"number","description":"How much cash moved, in dollars, always positive; `effect` gives the direction. A filled buy is what it cost you including the fee (the order's `fill_cost_plus_fees`); a filled sale is what you received after the fee (`proceeds_minus_fees`); a settlement is the payout (normally `settlement.amount`).","example":5.97,"isRequired":true,"uniqueKey":"data.items.[INDEX].amount","typeLabel":"number"},"title":{"type":"string","description":"A short label for the movement, for display: `Markets - Bought`, `Markets - Sold`, `Markets - Settlement`, `Markets - Trade Voided Refund` (a voided buy refunded) or `Markets - Trade Voided Reversal` (a voided sale taken back).","example":"Markets - Bought","isRequired":true,"uniqueKey":"data.items.[INDEX].title","typeLabel":"string"},"market_title":{"type":"string","description":"The game, market and side the transaction was on, ready to display, such as `KC @ BUF • Chiefs to win` or `KC @ BUF • Over 47.5 points`. On a settlement the side is the one the position held. An empty string when Splash could not build it.","example":"KC @ BUF • Chiefs to win","isRequired":true,"uniqueKey":"data.items.[INDEX].market_title","typeLabel":"string"},"created_at":{"type":"integer","format":"int64","description":"When the cash moved. Epoch milliseconds. Transactions are listed newest first by this, and `from` and `to` filter on it.","example":1793977446412,"isRequired":true,"uniqueKey":"data.items.[INDEX].created_at","typeLabel":"integer\u003cint64>"},"market":{"title":"Market","type":"object","description":"The market the transaction was on, as it is now rather than as it was when the cash moved.","required":["id","provider_ticker","title","sub_category","type","price_yes","price_no","volume","liquidity","yes_liquidity","no_liquidity","status","updated_at","rules","market_group_id","event_start","yes_line_display","no_line_display"],"properties":{"id":{"type":"string","description":"The market id (prefix `pm_`). This is the instrument you trade, sent as `market_id` on `POST /trading/orders`, and the id to follow for price updates.","example":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","isRequired":true,"uniqueKey":"data.items.[INDEX].market.id","typeLabel":"string"},"provider_ticker":{"type":"string","description":"The market's ticker on the exchange where it trades, in the exchange's own format. It identifies the market on the exchange and stays the same for the life of the market, so use it to match this market against the exchange's own data; to trade, use `id`. Always present.","example":"aec-nfl-kc-buf-2026-11-08","isRequired":true,"uniqueKey":"data.items.[INDEX].market.provider_ticker","typeLabel":"string"},"title":{"type":"string","description":"The exchange provider's title for the market, usually the YES side as a question. Display text that can change; never parse it or key on it.","example":"Kansas City Chiefs to win the game?","isRequired":true,"uniqueKey":"data.items.[INDEX].market.title","typeLabel":"string"},"sub_category":{"type":"string","description":"The league. See [Leagues](/predictions/enums#leagues-sub_category).","enum":["nfl","ncaaf","nba","wnba","ncaab","mlb","nhl","epl","mls","pga","wc"],"title":"SubCategoryId","example":"nfl","isRequired":true,"uniqueKey":"data.items.[INDEX].market.sub_category","typeLabel":"enum\u003cstring>"},"price_yes":{"type":"object","description":"What one YES contract costs right now: the best YES ask in the book Splash holds, in every display form. A YES contract pays $1 if the market resolves YES. `price_yes` and `price_no` are both asks, so their `numeric_price` values usually sum to a little more than 1; the excess is the spread. Reads 0 when nobody is offering YES, and while quotes are suspended during an exchange outage.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_yes","typeLabel":"MarketPrice · object"},"price_no":{"type":"object","description":"What one NO contract costs right now: the best NO ask, in every display form. A NO contract pays $1 if the market resolves NO. Reads 0 when nobody is offering NO, and during an exchange outage.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.price_no","typeLabel":"MarketPrice · object"},"volume":{"type":"number","description":"Dollars traded on the exchange in this market, rounded to cents. It refreshes with order book updates rather than on every trade, so it can trail the latest trade by a few seconds.","example":184532.17,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.volume","typeLabel":"number"},"liquidity":{"type":"number","description":"Dollars resting in the book Splash holds: each bid level's price times its quantity, summed over the YES and NO ladders and rounded to cents. A floor, since the feed carries at most ten levels a side. 0 whenever `orderbook` is absent.","example":9266.25,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.liquidity","typeLabel":"number"},"yes_liquidity":{"type":"number","description":"Dollars of YES you could buy right now: the YES ask depth valued at the ask prices, rounded to cents. 0 means nobody is offering YES, so treat the YES side as closed. It is not a share of `liquidity`; buyable depth and resting depth are different measures and do not add up.","example":5378.8,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.yes_liquidity","typeLabel":"number"},"no_liquidity":{"type":"number","description":"Dollars of NO you could buy right now: the NO ask depth valued at the ask prices, rounded to cents. 0 means nobody is offering NO.","example":4334.95,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.no_liquidity","typeLabel":"number"},"status":{"type":"string","description":"`active` is tradeable. `expired` has stopped trading and has not settled. `settled` has resolved and carries `result`. See [Market statuses](/predictions/enums#market-statuses-status).","enum":["active","expired","settled"],"title":"MarketStatus","example":"active","isRequired":true,"uniqueKey":"data.items.[INDEX].market.status","typeLabel":"enum\u003cstring>"},"updated_at":{"type":"integer","format":"int64","description":"When Splash last refreshed this market, from an order book or status update. Epoch milliseconds.","example":1793977442118,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.updated_at","typeLabel":"integer\u003cint64>"},"rules":{"type":"string","description":"The resolution rules the exchange provider publishes for this market, as plain text. They decide `result`.","example":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.rules","typeLabel":"string"},"market_group_id":{"type":"string","description":"The market group this market belongs to; `GET /prediction_markets/{id}` returns the whole group.","example":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02","isRequired":true,"uniqueKey":"data.items.[INDEX].market.market_group_id","typeLabel":"string"},"type":{"type":"string","enum":["spread","total","moneyline","future_team_champion","player_prop"],"description":"Which shape this market is, and so which fields below are present: `spread`, `total`, `moneyline`, `future_team_champion` or `player_prop`. See [Market types](/predictions/enums#market-types-type-on-a-market).","example":"moneyline","isRequired":true,"uniqueKey":"data.items.[INDEX].market.type","typeLabel":"enum\u003cstring>"},"event_start":{"type":"integer","format":"int64","description":"Scheduled start of the game, epoch milliseconds. On a future, the date the exchange provider gives the title event.","example":1794160800000,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.event_start","typeLabel":"integer\u003cint64>"},"yes_line_display":{"type":"string","description":"The YES outcome as display text: `-2.5` (spread), `O 47.5` (total), `275+` (prop rung), `Yes` (future, pool leg). Absent on a moneyline.","example":"O 47.5","isRequired":true,"uniqueKey":"data.items.[INDEX].market.yes_line_display","typeLabel":"string"},"no_line_display":{"type":"string","description":"The NO outcome as display text: `+2.5`, `U 47.5`, `Under 275`, `No`. Absent on a moneyline.","example":"U 47.5","isRequired":true,"uniqueKey":"data.items.[INDEX].market.no_line_display","typeLabel":"string"},"orderbook":{"type":"object","description":"Splash's copy of the exchange provider's order book for this market, at most ten levels a side. Absent when the book is empty and while quotes are suspended during an exchange outage.","required":["bids","asks"],"properties":{"bids":{"title":"OrderbookSide","type":"object","description":"Bids: the YES bids and the NO bids, each ordered by price ascending, so the best bid is last.","required":["yes","no"],"properties":{"yes":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the YES contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.yes","typeLabel":"PriceLevel · object[]"},"no":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the NO contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids.no","typeLabel":"PriceLevel · object[]"}},"example":{"yes":[{"q":4210,"p":0.56},{"q":3185,"p":0.57},{"q":2650,"p":0.58}],"no":[{"q":3920,"p":0.39},{"q":2875,"p":0.4},{"q":2140,"p":0.41}]},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.bids","typeLabel":"OrderbookSide · object"},"asks":{"title":"OrderbookSide","type":"object","description":"Asks: what you can buy at. Each YES ask is the complement of a NO bid (a NO bid at 0.41 is a YES ask at 0.59) and each NO ask the complement of a YES bid, ordered by price ascending, so the best ask is first.","required":["yes","no"],"properties":{"yes":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the YES contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.yes","typeLabel":"PriceLevel · object[]"},"no":{"type":"array","items":{"type":"object","description":"One level of the order book.","required":["p","q"],"properties":{"p":{"type":"number","description":"Price per contract in dollars, up to 4 decimal places.","example":0.58,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no.items.[INDEX].p","typeLabel":"number"},"q":{"type":"number","description":"Contracts resting at that price. Can be fractional.","example":2650,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no.items.[INDEX].q","typeLabel":"number"}},"title":"PriceLevel","example":{"q":2650,"p":0.58},"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no.items.[INDEX]","typeLabel":"PriceLevel · object"},"description":"Levels for the NO contract, price ascending.","isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks.no","typeLabel":"PriceLevel · object[]"}},"example":{"yes":[{"q":4210,"p":0.56},{"q":3185,"p":0.57},{"q":2650,"p":0.58}],"no":[{"q":3920,"p":0.39},{"q":2875,"p":0.4},{"q":2140,"p":0.41}]},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.orderbook.asks","typeLabel":"OrderbookSide · object"}},"title":"Orderbook","example":{"bids":{"yes":[{"q":4210,"p":0.56},{"q":3185,"p":0.57},{"q":2650,"p":0.58}],"no":[{"q":3920,"p":0.39},{"q":2875,"p":0.4},{"q":2140,"p":0.41}]},"asks":{"yes":[{"q":2140,"p":0.59},{"q":2875,"p":0.6},{"q":3920,"p":0.61}],"no":[{"q":2650,"p":0.42},{"q":3185,"p":0.43},{"q":4210,"p":0.44}]}},"uniqueKey":"data.items.[INDEX].market.orderbook","typeLabel":"Orderbook · object"},"last_price_yes":{"type":"number","description":"The most recent trade as a YES price per contract, up to 4 decimal places. Absent until the market has traded. Refreshes with order book updates, like `volume`.","example":0.585,"uniqueKey":"data.items.[INDEX].market.last_price_yes","typeLabel":"number"},"last_price_no":{"type":"number","description":"The same trade as a NO price: `1 - last_price_yes`, up to 4 decimal places. Present exactly when `last_price_yes` is.","example":0.415,"uniqueKey":"data.items.[INDEX].market.last_price_no","typeLabel":"number"},"result":{"type":"string","description":"How the market resolved: `yes`, `no`, or `scalar` (resolved to a value rather than a side). Absent until the market settles. See [Market results](/predictions/enums#market-results-result).","enum":["yes","no","scalar"],"title":"MarketResult","example":"yes","uniqueKey":"data.items.[INDEX].market.result","typeLabel":"enum\u003cstring>"},"event_id":{"type":"string","description":"All but `future_team_champion`: the game. Resolve it in `included.events`.","example":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","uniqueKey":"data.items.[INDEX].market.event_id","typeLabel":"string"},"line":{"type":"number","description":"Spread, total, and a player prop ladder rung (274.5 for \"275+\"). Absent on a moneyline, a future and a pool leg.","example":47.5,"uniqueKey":"data.items.[INDEX].market.line","typeLabel":"number"},"team_id":{"type":"string","description":"Spread, moneyline (not a `draw` leg), future and player prop: the team the market is about, or the player's team.","example":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","uniqueKey":"data.items.[INDEX].market.team_id","typeLabel":"string"},"yes_team_id":{"type":"string","description":"Spread, and `two_way` moneyline: the team whose side is YES.","example":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","uniqueKey":"data.items.[INDEX].market.yes_team_id","typeLabel":"string"},"no_team_id":{"type":"string","description":"Spread, and `two_way` moneyline: the team whose side is NO. Buying it is buying NO.","example":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","uniqueKey":"data.items.[INDEX].market.no_team_id","typeLabel":"string"},"moneyline_type":{"type":"string","enum":["two_way","one_way","draw"],"description":"Moneyline only: `two_way`, `one_way` or `draw`. See [Moneyline types](/predictions/enums#moneyline-types-moneyline_type).","example":"two_way","uniqueKey":"data.items.[INDEX].market.moneyline_type","typeLabel":"enum\u003cstring>"},"prop_type":{"type":"string","description":"Player prop only. See [Player prop types](/predictions/enums#player-prop-types-prop_type).","enum":["touchdowns","receiving_yards","receptions","rushing_yards","passing_yards","first_touchdown","team_first_touchdown","passing_touchdowns","fantasy_points_ppr","passing_completions","passing_attempts","rushing_attempts","scrimmage_yards","longest_reception","interceptions_thrown","most_passing_yards","points","rebounds","assists","points_rebounds_assists","three_points_made","steals","blocks","double_double","goals","goals_plus_assists","first_goal","hits","total_bases","hits_runs_rbis","home_runs","rbis","stolen_bases","strikeouts","outs","earned_runs_allowed","hits_allowed","walks_allowed"],"title":"PlayerPropType","example":"passing_yards","uniqueKey":"data.items.[INDEX].market.prop_type","typeLabel":"enum\u003cstring>"},"prop_type_display":{"type":"string","description":"Player prop only. Heading for `prop_type`, e.g. `Anytime TD`.","example":"Passing Yards","uniqueKey":"data.items.[INDEX].market.prop_type_display","typeLabel":"string"},"entity_id":{"type":"string","description":"Player prop only. The player; resolve it in `included.entities`.","example":"11cad59d-90dd-449c-a839-dddaba4fe16c","uniqueKey":"data.items.[INDEX].market.entity_id","typeLabel":"string"},"live_stat_key":{"type":"string","description":"Player prop only. Present when a live in-game stat streams for this prop type; its value is the key to read from the `player-activity-{event_id}-{entity_id}` channel payload.","example":"passing_yards","uniqueKey":"data.items.[INDEX].market.live_stat_key","typeLabel":"string"},"live_stat":{"type":"number","description":"Player prop only. The current value of `live_stat_key`: 0 until the player appears, the final figure once the game is over. Present exactly when `live_stat_key` is.","example":0,"uniqueKey":"data.items.[INDEX].market.live_stat","typeLabel":"number"},"alternate_lines":{"type":"array","description":"Player prop only. The whole ladder, this market included. Absent when there is a single line.","items":{"type":"object","description":"One rung of a ladder as the line picker shows it.","required":["id","provider_ticker","yes_line_display","no_line_display","price_yes","price_no","yes_liquidity","no_liquidity","status","rules"],"properties":{"id":{"type":"string","description":"The market id of this rung: the `market_id` to trade and the id to follow for price updates.","example":"pm_6aec4c985f2b7d0e6a3c81b4c9d5e159","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].id","typeLabel":"string"},"provider_ticker":{"type":"string","description":"The ticker of this line's market on the exchange where it trades, in the exchange's own format. Each line is its own market, so this identifies the line on the exchange and stays the same for the life of the market; use it to match the line against the exchange's own data, and `id` to trade it. The line the market leads with has the same `id` and ticker as the market. Always present.","example":"astatc-nfl-kc-buf-2026-11-08-passyds-patmah-gte300","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].provider_ticker","typeLabel":"string"},"yes_line_display":{"type":"string","description":"The YES outcome as display text, e.g. `300+`.","example":"300+","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].yes_line_display","typeLabel":"string"},"no_line_display":{"type":"string","description":"The NO outcome as display text, e.g. `Under 300`.","example":"Under 300","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].no_line_display","typeLabel":"string"},"price_yes":{"type":"object","description":"Best YES ask for this rung, in every display form.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_yes","typeLabel":"MarketPrice · object"},"price_no":{"type":"object","description":"Best NO ask for this rung, in every display form.","required":["american","decimal","percentage","price","numeric_price"],"properties":{"american":{"type":"string","description":"American odds for the price, rounded to a whole number, with a sign: `-144` for a favourite, `+138` for an underdog. `-10000` when the price is 0.","example":"-144","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.american","typeLabel":"string"},"decimal":{"type":"string","description":"Decimal odds, `1 / numeric_price` to 2 places, with an `x` suffix: `1.69x`. `0x` when the price is 0.","example":"1.69x","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.decimal","typeLabel":"string"},"percentage":{"type":"string","description":"The implied probability, `numeric_price` as a whole percentage: `59%`.","example":"59%","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.percentage","typeLabel":"string"},"price":{"type":"string","description":"The per-contract price in dollars, rounded to cents and formatted with a dollar sign: `$0.59`.","example":"$0.59","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.price","typeLabel":"string"},"numeric_price":{"type":"number","description":"The per-contract price in dollars as a number, up to 4 decimal places (the exchange quotes in tenths of a cent), capped at 0.99. 0 when nobody is offering this side. Use this field for arithmetic; the strings are for display.","example":0.59,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no.numeric_price","typeLabel":"number"}},"title":"MarketPrice","example":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].price_no","typeLabel":"MarketPrice · object"},"yes_liquidity":{"type":"number","description":"Dollars of YES buyable on this rung right now, rounded to cents. 0 means no YES offers.","example":529.1,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].yes_liquidity","typeLabel":"number"},"no_liquidity":{"type":"number","description":"Dollars of NO buyable on this rung right now, rounded to cents. 0 means no NO offers.","example":874,"isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].no_liquidity","typeLabel":"number"},"status":{"type":"string","description":"The rung's market status. See [Market statuses](/predictions/enums#market-statuses-status).","enum":["active","expired","settled"],"title":"MarketStatus","example":"active","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"rules":{"type":"string","description":"This rung's own resolution rules from the exchange provider.","example":"This market resolves to \"Yes\" if Patrick Mahomes records 300+ passing yards in the Kansas City Chiefs vs. Buffalo Bills game on November 8, 2026. If he does not play, it resolves to \"No\".","isRequired":true,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].rules","typeLabel":"string"},"line":{"type":"number","description":"The half-point strike: 299.5 for \"300+\". Absent on a pool leg.","example":299.5,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].line","typeLabel":"number"},"last_price_yes":{"type":"number","description":"Last trade on this rung as a YES price, up to 4 decimal places. Absent until it has traded.","example":0.285,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].last_price_yes","typeLabel":"number"},"last_price_no":{"type":"number","description":"`1 - last_price_yes`. Present exactly when `last_price_yes` is.","example":0.715,"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].last_price_no","typeLabel":"number"},"result":{"type":"string","description":"How the rung resolved. Absent until it settles.","enum":["yes","no","scalar"],"title":"MarketResult","example":"no","uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX].result","typeLabel":"enum\u003cstring>"}},"title":"PlayerPropLine","example":{"id":"pm_6aec4c985f2b7d0e6a3c81b4c9d5e159","provider_ticker":"astatc-nfl-kc-buf-2026-11-08-passyds-patmah-gte300","line":299.5,"yes_line_display":"300+","no_line_display":"Under 300","price_yes":{"american":"+245","decimal":"3.45x","percentage":"29%","price":"$0.29","numeric_price":0.29},"price_no":{"american":"-257","decimal":"1.39x","percentage":"72%","price":"$0.72","numeric_price":0.72},"last_price_yes":0.285,"last_price_no":0.715,"yes_liquidity":328.8,"no_liquidity":835,"status":"active","rules":"This market resolves to \"Yes\" if Patrick Mahomes records 300+ passing yards in the Kansas City Chiefs vs. Buffalo Bills game on November 8, 2026. If he does not play, it resolves to \"No\"."},"uniqueKey":"data.items.[INDEX].market.alternate_lines.items.[INDEX]","typeLabel":"PlayerPropLine · object"},"uniqueKey":"data.items.[INDEX].market.alternate_lines","typeLabel":"PlayerPropLine · object[]"}},"example":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"},"isRequired":true,"uniqueKey":"data.items.[INDEX].market","typeLabel":"Market · object"},"order":{"type":"object","title":"Order","description":"The order, as [Get an order](/predictions/reference/orders/get-an-order) returns it without its market. Present only when `type` is `order`.","required":["id","side","yes_price","no_price","quantity","status","fill_cost","updated_at","created_at","remaining_quantity","fill_quantity","fees","action","splash_action","proceeds","splash_side","trade_price","proceeds_minus_fees","fill_cost_plus_fees","request_id","time_in_force"],"properties":{"id":{"type":"string","description":"The order id (prefix `ord_`), as `order_id` was returned when you placed it.","example":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","isRequired":true,"uniqueKey":"data.items.[INDEX].order.id","typeLabel":"string"},"side":{"type":"string","enum":["yes","no"],"title":"OrderSide","description":"The side as Splash routes the order to the exchange. Every order is recorded against the YES contract, so this is `yes`; read `splash_side` for the side you traded. See [Order sides](/predictions/enums#order-sides-splash_side-and-side).","example":"yes","isRequired":true,"uniqueKey":"data.items.[INDEX].order.side","typeLabel":"enum\u003cstring>"},"yes_price":{"type":"number","description":"Price per contract in YES terms, up to 4 decimal places. Until the order fills it is your limit price expressed as a YES price; once it fills, the average fill price. Always `yes_price + no_price = 1`.","example":0.585,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.yes_price","typeLabel":"number"},"no_price":{"type":"number","description":"The same price in NO terms: `1 - yes_price`. On a NO buy this is what you paid per contract, before fees.","example":0.415,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.no_price","typeLabel":"number"},"quantity":{"type":"integer","description":"Contracts requested.","example":10,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.quantity","typeLabel":"integer"},"status":{"type":"string","enum":["pending","executed","cancelled","resting"],"title":"OrderStatus","description":"`pending` while queued or in flight, then `executed` (filled) or `cancelled` (not filled, or refused). A fill-or-kill order is never `resting`. See [Order statuses](/predictions/enums#order-statuses-status-on-an-order).","example":"executed","isRequired":true,"uniqueKey":"data.items.[INDEX].order.status","typeLabel":"enum\u003cstring>"},"fill_cost":{"type":"number","description":"Buys: dollars paid for the filled contracts, before fees, up to 4 decimal places. 0 on a sell and until the order fills.","example":5.85,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.fill_cost","typeLabel":"number"},"updated_at":{"type":"integer","format":"int64","description":"When the order last changed. Epoch milliseconds.","example":1793977446412,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.updated_at","typeLabel":"integer\u003cint64>"},"created_at":{"type":"integer","format":"int64","description":"When the order was recorded. Epoch milliseconds.","example":1793977445000,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.created_at","typeLabel":"integer\u003cint64>"},"remaining_quantity":{"type":"integer","description":"Contracts not filled. Equals `quantity` until the exchange reports on the order.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.remaining_quantity","typeLabel":"integer"},"fill_quantity":{"type":"integer","description":"Contracts filled. 0 until the order fills; equal to `quantity` on an executed fill-or-kill order.","example":10,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.fill_quantity","typeLabel":"integer"},"fees":{"type":"number","description":"Total fees on the order, Splash's and the exchange provider's, in dollars rounded to cents. Charged on top of a buy and out of a sell's proceeds. Before the fill it holds only Splash's quoted fee.","example":0.12,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.fees","typeLabel":"number"},"action":{"type":"string","enum":["buy","sell"],"title":"OrderAction","description":"Buy or sell of the YES contract, as routed to the exchange: a YES buy or a NO close is `buy`, a NO buy or a YES close is `sell`. Read `splash_action` for what you did. See [Order actions](/predictions/enums#order-actions-splash_action-and-action).","example":"buy","isRequired":true,"uniqueKey":"data.items.[INDEX].order.action","typeLabel":"enum\u003cstring>"},"splash_action":{"type":"string","enum":["buy","sell"],"title":"OrderAction","description":"What you did: `buy` opens or adds to a position, `sell` closes it. See [Order actions](/predictions/enums#order-actions-splash_action-and-action).","example":"buy","isRequired":true,"uniqueKey":"data.items.[INDEX].order.splash_action","typeLabel":"enum\u003cstring>"},"proceeds":{"type":"number","description":"Sells: dollars received for the filled contracts, before fees, up to 4 decimal places. 0 on a buy and until the order fills.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.proceeds","typeLabel":"number"},"splash_side":{"type":"string","enum":["yes","no"],"title":"OrderSide","description":"The side you traded: the side you bought on a buy, the side you sold on a sell. See [Order sides](/predictions/enums#order-sides-splash_side-and-side).","example":"yes","isRequired":true,"uniqueKey":"data.items.[INDEX].order.splash_side","typeLabel":"enum\u003cstring>"},"trade_price":{"type":"number","description":"Your all-in price per contract, up to 4 decimal places: on a buy `(fill_cost + fees) / fill_quantity`, on a sell `(proceeds - fees) / fill_quantity`. 0 until the order fills.","example":0.597,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.trade_price","typeLabel":"number"},"proceeds_minus_fees":{"type":"number","description":"Sells: `proceeds - fees`, the dollars credited to you, rounded to cents. 0 on a buy.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.proceeds_minus_fees","typeLabel":"number"},"fill_cost_plus_fees":{"type":"number","description":"Buys: `fill_cost + fees`, the dollars debited from you, rounded to cents. 0 on a sell.","example":5.97,"isRequired":true,"uniqueKey":"data.items.[INDEX].order.fill_cost_plus_fees","typeLabel":"number"},"request_id":{"type":"string","description":"The `request_id` the order was placed with.","example":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","isRequired":true,"uniqueKey":"data.items.[INDEX].order.request_id","typeLabel":"string"},"time_in_force":{"type":"string","enum":["FOK","IOC"],"title":"TimeInForce","description":"`FOK` (fill or kill). Every order today is fill-or-kill. See [Time in force](/predictions/enums#time-in-force-time_in_force).","example":"FOK","isRequired":true,"uniqueKey":"data.items.[INDEX].order.time_in_force","typeLabel":"enum\u003cstring>"},"executed_at":{"type":"integer","format":"int64","description":"When the order executed. Epoch milliseconds. Absent until it does.","example":1793977446412,"uniqueKey":"data.items.[INDEX].order.executed_at","typeLabel":"integer\u003cint64>"}},"example":{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","side":"yes","yes_price":0.585,"no_price":0.415,"quantity":10,"status":"executed","fill_cost":5.85,"updated_at":1793977446412,"created_at":1793977445000,"executed_at":1793977446412,"remaining_quantity":0,"fill_quantity":10,"fees":0.12,"action":"buy","splash_action":"buy","proceeds":0,"splash_side":"yes","trade_price":0.597,"proceeds_minus_fees":0,"fill_cost_plus_fees":5.97,"request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","time_in_force":"FOK"},"uniqueKey":"data.items.[INDEX].order","typeLabel":"Order · object"},"settlement":{"type":"object","title":"Settlement","description":"The settlement record. Present only when `type` is `settlement`.","required":["id","amount","created_at","updated_at","market_id","position_id","result","settlement_price","yes_quantity","no_quantity"],"properties":{"id":{"type":"string","description":"The settlement's id, prefixed `smnt_`.","example":"smnt_6af1a3c27d9e4b0f8c2a65e1d3b7f940","isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.id","typeLabel":"string"},"amount":{"type":"number","description":"The payout in dollars: `settlement_price` × the contracts held, rounded to the cent. It is what was credited to your cash for this position.","example":20,"isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.amount","typeLabel":"number"},"created_at":{"type":"integer","format":"int64","description":"When the settlement was recorded. Epoch milliseconds.","example":1794174120000,"isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.created_at","typeLabel":"integer\u003cint64>"},"updated_at":{"type":"integer","format":"int64","description":"When the settlement record last changed. Epoch milliseconds; the same as `created_at` unless the record was corrected later.","example":1794174120000,"isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.updated_at","typeLabel":"integer\u003cint64>"},"market_id":{"type":"string","description":"The market that settled; the same as `market.id` on the transaction.","example":"pm_6ae1e3c08d5c2a7e3f9b41e6d2c8a604","isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.market_id","typeLabel":"string"},"position_id":{"type":"string","description":"The position that was paid out, prefixed `pos_`. Look it up with [Get a position](/predictions/reference/positions/get-a-position); it is `closed` after settlement.","example":"pos_6aedecf7f6c1b4e9a3d27f50c8e4a1d3","isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.position_id","typeLabel":"string"},"result":{"type":"string","description":"How the market resolved: `yes`, `no`, or `scalar` (resolved to a value rather than a side). See [Market results](/predictions/enums#market-results-result).","enum":["yes","no","scalar"],"title":"MarketResult","example":"yes","isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.result","typeLabel":"enum\u003cstring>"},"settlement_price":{"type":"number","description":"What each contract you held paid, in dollars, on the side you held, with up to four decimal places: 1 when your side won, 0 when it lost, and the value in between when the market resolved to one (0.5 for a 50/50 resolution).","example":1,"isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.settlement_price","typeLabel":"number"},"yes_quantity":{"type":"number","description":"YES contracts you held when the market settled; 0 if you held NO.","example":20,"isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.yes_quantity","typeLabel":"number"},"no_quantity":{"type":"number","description":"NO contracts you held when the market settled; 0 if you held YES.","example":0,"isRequired":true,"uniqueKey":"data.items.[INDEX].settlement.no_quantity","typeLabel":"number"}},"example":{"id":"smnt_6af1a3c27d9e4b0f8c2a65e1d3b7f940","amount":20,"created_at":1794174120000,"updated_at":1794174120000,"market_id":"pm_6ae1e3c08d5c2a7e3f9b41e6d2c8a604","position_id":"pos_6aedecf7f6c1b4e9a3d27f50c8e4a1d3","result":"yes","settlement_price":1,"yes_quantity":20,"no_quantity":0},"uniqueKey":"data.items.[INDEX].settlement","typeLabel":"Settlement · object"}},"example":{"id":"tx_6aedec66e2b7c4a9f0d18e53b6a2c7f4","type":"order","effect":"debit","amount":5.97,"title":"Markets - Bought","market_title":"KC @ BUF • Chiefs to win","created_at":1793977446412,"order":{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","side":"yes","yes_price":0.585,"no_price":0.415,"quantity":10,"status":"executed","fill_cost":5.85,"updated_at":1793977446412,"created_at":1793977445000,"executed_at":1793977446412,"remaining_quantity":0,"fill_quantity":10,"fees":0.12,"action":"buy","splash_action":"buy","proceeds":0,"splash_side":"yes","trade_price":0.597,"proceeds_minus_fees":0,"fill_cost_plus_fees":5.97,"request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","time_in_force":"FOK"},"market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"}},"uniqueKey":"data.items.[INDEX]","typeLabel":"Transaction · object"},"description":"Your transactions, newest first by `created_at`. A transaction whose market can no longer be read is left out, so a page can hold fewer than `limit` items while `total` still counts it.","isRequired":true,"uniqueKey":"data","typeLabel":"Transaction · object[]"},"total":{"type":"integer","description":"Transactions matching `from` and `to`, across all pages.","example":3,"isRequired":true,"uniqueKey":"total","typeLabel":"integer"},"offset":{"type":"integer","description":"The `offset` the page starts at.","example":0,"isRequired":true,"uniqueKey":"offset","typeLabel":"integer"},"limit":{"type":"integer","description":"The page size.","example":50,"isRequired":true,"uniqueKey":"limit","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"TransactionListResponse · object"},"examples":{"Order transactions":{"title":"Order transactions","description":"A sale that filled, credited $6.55 after the fee, and the buy before it, debited $5.97 including the fee.","value":{"status":"success","data":[{"id":"tx_6af0d057a1c94e2b8d3f60a7c5e1b28d","type":"order","effect":"credit","amount":6.55,"title":"Markets - Sold","market_title":"KC @ BUF • Chiefs to win","created_at":1794166871236,"order":{"id":"ord_6af0d056c50d27e8a6b19f34d0e8c3a1","side":"yes","yes_price":0.665,"no_price":0.335,"quantity":10,"status":"executed","fill_cost":0,"updated_at":1794166871236,"created_at":1794166870000,"executed_at":1794166871236,"remaining_quantity":0,"fill_quantity":10,"fees":0.1,"action":"sell","splash_action":"sell","proceeds":6.65,"splash_side":"yes","trade_price":0.655,"proceeds_minus_fees":6.55,"fill_cost_plus_fees":0,"request_id":"c47b19e2-0f6d-4b8a-a3e5-71d9f2c08a56","time_in_force":"FOK"},"market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"}},{"id":"tx_6aedec66e2b7c4a9f0d18e53b6a2c7f4","type":"order","effect":"debit","amount":5.97,"title":"Markets - Bought","market_title":"KC @ BUF • Chiefs to win","created_at":1793977446412,"order":{"id":"ord_6aedec658f3a61c2d94e07b5a1c6e2d9","side":"yes","yes_price":0.585,"no_price":0.415,"quantity":10,"status":"executed","fill_cost":5.85,"updated_at":1793977446412,"created_at":1793977445000,"executed_at":1793977446412,"remaining_quantity":0,"fill_quantity":10,"fees":0.12,"action":"buy","splash_action":"buy","proceeds":0,"splash_side":"yes","trade_price":0.597,"proceeds_minus_fees":0,"fill_cost_plus_fees":5.97,"request_id":"3f1c2a9e-5b7d-4e0a-9c1d-8a6b2e4f7d10","time_in_force":"FOK"},"market":{"id":"pm_6ae1e3c09e1d4c7a2b5f80e3d6a9c412","provider_ticker":"aec-nfl-kc-buf-2026-11-08","title":"Kansas City Chiefs to win the game?","sub_category":"nfl","type":"moneyline","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"moneyline_type":"two_way","team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","yes_team_id":"6680b4e0-5b6c-4bd1-8f6a-0b4f3b7d9a21","no_team_id":"768c92aa-75ff-4a43-bcc0-f2fe5c1f0a3e","price_yes":{"american":"-144","decimal":"1.69x","percentage":"59%","price":"$0.59","numeric_price":0.59},"price_no":{"american":"+138","decimal":"2.38x","percentage":"42%","price":"$0.42","numeric_price":0.42},"volume":184532.17,"liquidity":9266.25,"yes_liquidity":5378.8,"no_liquidity":4334.95,"last_price_yes":0.585,"last_price_no":0.415,"status":"active","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs win their game against the Buffalo Bills scheduled for November 8, 2026. It resolves to \"No\" if the Buffalo Bills win. If the game ends in a tie, is canceled, or is postponed past November 15, 2026, the market resolves 50-50.","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02"}}],"total":2,"offset":0,"limit":50}},"Settlement transaction":{"title":"Settlement transaction","description":"The total settled `yes` and the 20 YES contracts held paid $1 each: $20.00 credited, and the position is now closed.","value":{"status":"success","data":[{"id":"tx_6af1a3c2b48e0d7f1a9c53e6b2d8f017","type":"settlement","effect":"credit","amount":20,"title":"Markets - Settlement","market_title":"KC @ BUF • Over 47.5 points","created_at":1794174120000,"settlement":{"id":"smnt_6af1a3c27d9e4b0f8c2a65e1d3b7f940","amount":20,"created_at":1794174120000,"updated_at":1794174120000,"market_id":"pm_6ae1e3c08d5c2a7e3f9b41e6d2c8a604","position_id":"pos_6aedecf7f6c1b4e9a3d27f50c8e4a1d3","result":"yes","settlement_price":1,"yes_quantity":20,"no_quantity":0},"market":{"id":"pm_6ae1e3c08d5c2a7e3f9b41e6d2c8a604","provider_ticker":"tsc-nfl-kc-buf-2026-11-08-47pt5","title":"Chiefs vs. Bills: Total Points O/U 47.5","sub_category":"nfl","type":"total","event_id":"4b1e9c2a-7d3f-4e5a-8b6c-9d0e1f2a3b4c","event_start":1794160800000,"line":47.5,"yes_line_display":"O 47.5","no_line_display":"U 47.5","price_yes":{"american":"-117","decimal":"1.85x","percentage":"54%","price":"$0.54","numeric_price":0.54},"price_no":{"american":"+113","decimal":"2.13x","percentage":"47%","price":"$0.47","numeric_price":0.47},"volume":71455.92,"liquidity":4350.3,"yes_liquidity":2298.2,"no_liquidity":2211.5,"last_price_yes":0.535,"last_price_no":0.465,"status":"settled","updated_at":1793977442118,"rules":"This market resolves to \"Yes\" if the Kansas City Chiefs and Buffalo Bills combine for more than 47.5 points in their game on November 8, 2026, overtime included. Otherwise it resolves to \"No\".","market_group_id":"pmgm_6ae1e3c0a3f19c0d7e2b4c58e61f9d02","result":"yes"}}],"total":1,"offset":0,"limit":50}},"Empty page":{"title":"Empty page","description":"No transactions in the period, or `offset` past the end.","value":{"status":"success","data":[],"total":0,"offset":0,"limit":50}}},"exampleType":"examples"}},"exampleType":"examples"},"d5a3ea6a-21a9-4084-95a6-76c328d4a7a2":{"description":"A query or path parameter failed validation (`Invalid request parameters`).","content":{"application/json":{"schema":{"type":"object","title":"TradingError","description":"The error body of the signed order and position routes. Same shape as the public `Error`, with the codes those routes can return. Branch on `error`; `message` is for people. See [Errors](/predictions/trading#errors).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","description":"Machine-readable code; branch on this. A string: the values below are the ones these routes return today, and a code not listed here should be handled by its HTTP status. See [Trading error codes](/predictions/enums#trading-error-codes-error).\n\n- `BAD_REQUEST` (400): invalid body or query, or an order check failed.\n- `NOT_AUTHORIZED` (401): the signature check failed, the request had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET /orders`, `GET /orders/{id}`, `GET /positions`, `GET /positions/{id}` or `GET /transactions`.\n- `FOBIDDEN` (403): `Not authorized to trade`, the account may not trade. `FOBIDDEN` is the literal value the API returns (not `FORBIDDEN`); match it exactly.\n- `NOT_FOUND` (404): no such order, position or market on your account.\n- `DUPLICATE_REQUEST_ID` (409): another account used this `request_id`.\n- `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.\n- `INTERNAL_ERROR` (500): the request could not be handled. On `POST /trading/orders` the order was not placed; poll the `request_id`, then try again with a new one.\n- `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking signed requests; retry later.\n- `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order could not be placed right now; retry later with a new `request_id`. On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could not be read; retry shortly.\n\nA `429 Too Many Requests` is the rate limit, not one of these codes; see [Rate limits](/predictions/rate-limits). Whether an order's `request_id` can be reused after an error: see [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","example":"FOBIDDEN","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it names the cause, e.g. `Invalid price` or `Invalid signature`. Do not branch on it.","example":"Not authorized to trade","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"FOBIDDEN","message":"Not authorized to trade"},"uniqueKey":"","typeLabel":"TradingError · object"},"examples":{"A query parameter failed validation":{"title":"A query parameter failed validation","description":"For example `?status=filled`, `?limit=0`, or a `request_id` with a character outside `A-Z a-z 0-9 _ -`.","value":{"status":"error","error":"BAD_REQUEST","message":"Invalid request parameters"}}},"exampleType":"examples"}},"exampleType":"examples"},"b7266a9f-4f44-4131-9f83-15d809e8a5ca":{"description":"The signature check failed, or the request had no `SPLASH-ACCESS-KEY` header. A failed check's `message` is one of `Unknown API key`, `API key revoked`, `Timestamp outside the allowed window` or `Invalid signature`. `API key revoked` is reported only when the signature is correct, so a wrong secret always reads `Invalid signature`. A request without the `SPLASH-ACCESS-KEY` header is not an API request and is refused with `You are not authorized to perform the requested action.` See [Authentication errors](/predictions/authentication#authentication-errors). This route also refuses `user_id` with the same message: it always acts as the key's own account.","content":{"application/json":{"schema":{"type":"object","title":"TradingError","description":"The error body of the signed order and position routes. Same shape as the public `Error`, with the codes those routes can return. Branch on `error`; `message` is for people. See [Errors](/predictions/trading#errors).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","description":"Machine-readable code; branch on this. A string: the values below are the ones these routes return today, and a code not listed here should be handled by its HTTP status. See [Trading error codes](/predictions/enums#trading-error-codes-error).\n\n- `BAD_REQUEST` (400): invalid body or query, or an order check failed.\n- `NOT_AUTHORIZED` (401): the signature check failed, the request had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET /orders`, `GET /orders/{id}`, `GET /positions`, `GET /positions/{id}` or `GET /transactions`.\n- `FOBIDDEN` (403): `Not authorized to trade`, the account may not trade. `FOBIDDEN` is the literal value the API returns (not `FORBIDDEN`); match it exactly.\n- `NOT_FOUND` (404): no such order, position or market on your account.\n- `DUPLICATE_REQUEST_ID` (409): another account used this `request_id`.\n- `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.\n- `INTERNAL_ERROR` (500): the request could not be handled. On `POST /trading/orders` the order was not placed; poll the `request_id`, then try again with a new one.\n- `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking signed requests; retry later.\n- `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order could not be placed right now; retry later with a new `request_id`. On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could not be read; retry shortly.\n\nA `429 Too Many Requests` is the rate limit, not one of these codes; see [Rate limits](/predictions/rate-limits). Whether an order's `request_id` can be reused after an error: see [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","example":"FOBIDDEN","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it names the cause, e.g. `Invalid price` or `Invalid signature`. Do not branch on it.","example":"Not authorized to trade","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"FOBIDDEN","message":"Not authorized to trade"},"uniqueKey":"","typeLabel":"TradingError · object"},"examples":{"Invalid signature":{"title":"Invalid signature","description":"The signature does not match what Splash computed. Check that you signed the exact body bytes and the full path including `/predictions-service/api` and the query string.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"Invalid signature"}},"Timestamp outside the allowed window":{"title":"Timestamp outside the allowed window","description":"`SPLASH-ACCESS-TIMESTAMP` is more than 30 seconds from server time. Check your clock.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"Timestamp outside the allowed window"}},"Unknown API key":{"title":"Unknown API key","value":{"status":"error","error":"NOT_AUTHORIZED","message":"Unknown API key"}},"API key revoked":{"title":"API key revoked","value":{"status":"error","error":"NOT_AUTHORIZED","message":"API key revoked"}},"Missing or misspelled key header":{"title":"Missing or misspelled key header","description":"The request carried no `SPLASH-ACCESS-KEY` header, because it was not signed or the header name is misspelled. A request without the `SPLASH-ACCESS-KEY` header is not an API request and is refused. Send all three `SPLASH-ACCESS-*` headers.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"You are not authorized to perform the requested action."}},"user_id was passed":{"title":"user_id was passed","description":"This route always acts as the key's own account, so `user_id` is refused rather than ignored. Remove it.","value":{"status":"error","error":"NOT_AUTHORIZED","message":"You are not authorized to perform the requested action."}}},"exampleType":"examples"}},"exampleType":"examples"},"b212a5e3-bf61-494e-9624-54dd4ffe77b1":{"description":"Too Many Requests: more than 10 requests per second from your IP address. The request was not handled and nothing was recorded. If the response has a `Retry-After` header, wait that many seconds; otherwise back off (about 1 second, with jitter). Then send the same request again; on `POST /trading/orders` reuse the same `request_id`. See [Rate limits](/predictions/rate-limits).","headers":{"Retry-After":{"description":"Optional, and may be absent. When present, the number of seconds to wait before retrying; when absent, back off about 1 second with jitter.","required":false,"schema":{"type":"integer"},"example":1}},"content":{"application/json":{"schema":{"type":"object","title":"TooManyRequestsError","description":"The body of a `429 Too Many Requests`: more than 10 requests per second from your IP address. It is not a `TradingError`; branch on the `429` status. See [Rate limits](/predictions/rate-limits).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error`.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","const":"TOO_MANY_REQUESTS","description":"Always `TOO_MANY_REQUESTS` on a rate-limited request.","example":"TOO_MANY_REQUESTS","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. Do not branch on it.","example":"Too many requests, try again later","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"TOO_MANY_REQUESTS","message":"Too many requests, try again later"},"uniqueKey":"","typeLabel":"TooManyRequestsError · object"},"examples":{"Over the limit":{"title":"Over the limit","description":"More than 10 requests per second from your IP address. Nothing was recorded; wait about a second (or the `Retry-After` seconds when that header is present) and send the same request again.","value":{"status":"error","error":"TOO_MANY_REQUESTS","message":"Too many requests, try again later"}}},"exampleType":"examples"}},"exampleType":"examples"},"8089ba2a-ccce-4eea-9282-dd878cdeaa1c":{"description":"The request could not be handled. On `POST /trading/orders` the order was not placed: poll `GET /orders?request_id=` before trying again. If the poll returns the order, follow it; otherwise send the order again with a new `request_id`, because this one now reads `cancelled`. See [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","content":{"application/json":{"schema":{"type":"object","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","enum":["BAD_REQUEST","NOT_FOUND","INTERNAL_ERROR"],"description":"Machine-readable code; branch on this. `BAD_REQUEST` (400), `NOT_FOUND` (404) or `INTERNAL_ERROR` (500). See [Error codes](/predictions/enums#error-codes-error).","example":"BAD_REQUEST","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable detail for logs and people. Wording can change; do not branch on it.","example":"Invalid request parameters","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"title":"Error","example":{"status":"error","error":"BAD_REQUEST","message":"Invalid request parameters"},"uniqueKey":"","typeLabel":"Error · object"},"examples":{"The request could not be handled":{"title":"The request could not be handled","description":"The message is spelled `occured` on the wire. On `POST /trading/orders`, poll the `request_id` before trying again, then send the order with a new `request_id`.","value":{"status":"error","error":"INTERNAL_ERROR","message":"An internal error has occured and the request could not be handled."}}},"exampleType":"examples"}},"exampleType":"examples"},"a9a110d1-365a-4117-bec8-3fdbfdb53e03":{"description":"The Trading API cannot take signed requests right now (`TRADING_API_UNAVAILABLE`). Nothing was read or recorded. Retry later.","content":{"application/json":{"schema":{"type":"object","title":"TradingError","description":"The error body of the signed order and position routes. Same shape as the public `Error`, with the codes those routes can return. Branch on `error`; `message` is for people. See [Errors](/predictions/trading#errors).","required":["status","error","message"],"properties":{"status":{"type":"string","const":"error","description":"Always `error` on an error response.","example":"error","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"error":{"type":"string","description":"Machine-readable code; branch on this. A string: the values below are the ones these routes return today, and a code not listed here should be handled by its HTTP status. See [Trading error codes](/predictions/enums#trading-error-codes-error).\n\n- `BAD_REQUEST` (400): invalid body or query, or an order check failed.\n- `NOT_AUTHORIZED` (401): the signature check failed, the request had no `SPLASH-ACCESS-KEY` header, or `user_id` was passed to `GET /orders`, `GET /orders/{id}`, `GET /positions`, `GET /positions/{id}` or `GET /transactions`.\n- `FOBIDDEN` (403): `Not authorized to trade`, the account may not trade. `FOBIDDEN` is the literal value the API returns (not `FORBIDDEN`); match it exactly.\n- `NOT_FOUND` (404): no such order, position or market on your account.\n- `DUPLICATE_REQUEST_ID` (409): another account used this `request_id`.\n- `UNSUPPORTED_MEDIA_TYPE` (415): a signed body that is not JSON.\n- `INTERNAL_ERROR` (500): the request could not be handled. On `POST /trading/orders` the order was not placed; poll the `request_id`, then try again with a new one.\n- `TRADING_API_UNAVAILABLE` (503): the Trading API is not taking signed requests; retry later.\n- `EXCHANGE_UNAVAILABLE`, `SERVICE_UNAVAILABLE` (503): the order could not be placed right now; retry later with a new `request_id`. On `GET /balance`, `SERVICE_UNAVAILABLE` means your balance could not be read; retry shortly.\n\nA `429 Too Many Requests` is the rate limit, not one of these codes; see [Rate limits](/predictions/rate-limits). Whether an order's `request_id` can be reused after an error: see [Order outcomes and retries](/predictions/trading#order-outcomes-and-retries).","example":"FOBIDDEN","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail. For `BAD_REQUEST` and `NOT_AUTHORIZED` it names the cause, e.g. `Invalid price` or `Invalid signature`. Do not branch on it.","example":"Not authorized to trade","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"example":{"status":"error","error":"FOBIDDEN","message":"Not authorized to trade"},"uniqueKey":"","typeLabel":"TradingError · object"},"examples":{"The Trading API is not available":{"title":"The Trading API is not available","value":{"status":"error","error":"TRADING_API_UNAVAILABLE","message":"The trading API is not available."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"faa395e5-9bba-47ff-aee0-b46875622528":{"SplashAccessKey":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-KEY","description":"Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessKey"},"SplashAccessTimestamp":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-TIMESTAMP","description":"Unix milliseconds, within 30 seconds of server time.","scopes":[],"schemeName":"SplashAccessTimestamp"},"SplashAccessSignature":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-SIGNATURE","description":"`base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessSignature"}}},"servers":{"d7d3b42f-0ca4-43cd-8663-0e65fcf09fe8":{"url":"https://api.splashsports.com/predictions-service/api","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-KEY","description":"Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessKey"},"schema":{"title":"SPLASH-ACCESS-KEY","type":"string","description":"Your API key id. Keys are issued by Splash on request, never expire, and stay valid until Splash revokes them, which it does on request. See [Authentication](/predictions/authentication).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"SplashAccessKey","name":"SPLASH-ACCESS-KEY"},{"scheme":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-TIMESTAMP","description":"Unix milliseconds, within 30 seconds of server time.","scopes":[],"schemeName":"SplashAccessTimestamp"},"schema":{"title":"SPLASH-ACCESS-TIMESTAMP","type":"string","description":"Unix milliseconds, within 30 seconds of server time.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"SplashAccessTimestamp","name":"SPLASH-ACCESS-TIMESTAMP"},{"scheme":{"type":"apiKey","in":"header","name":"SPLASH-ACCESS-SIGNATURE","description":"`base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See [Authentication](/predictions/authentication).","scopes":[],"schemeName":"SplashAccessSignature"},"schema":{"title":"SPLASH-ACCESS-SIGNATURE","type":"string","description":"`base64(HMAC-SHA256(secret, timestamp + METHOD + path + body))`. See [Authentication](/predictions/authentication).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"SplashAccessSignature","name":"SPLASH-ACCESS-SIGNATURE"}],"title":"SplashAccessKey \u0026 SplashAccessTimestamp \u0026 SplashAccessSignature"}]},"originalFileLocation":"predictions/openapi.json"},"subdomain":"splashsports","siteName":"Splash API","title":"List transactions - Splash API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T04:46:16.454Z","originalFileLocation":"predictions/reference/activity/list-transactions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Every movement of cash your trading caused, newest first: each order that filled (type: order, a debit for a buy and a credit for a sale) and each settlement payout (type: settlement, always a credit). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in settlement. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with List orders. Use from and to (ISO 8601 timestamps with a time zone) to read a period, and limit and offset to page. amount is always positive; effect says which way the cash moved. To see how a position ended, use Get a position; for its settlement record, use this list. Sign the request with your API key; see Authentication. It always reads the key\u0026#x27;s own account: a user_id query parameter is refused with a 401.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Splash API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List transactions - Splash API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Every movement of cash your trading caused, newest first: each order that filled (type: order, a debit for a buy and a credit for a sale) and each settlement payout (type: settlement, always a credit). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in settlement. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with List orders. Use from and to (ISO 8601 timestamps with a time zone) to read a period, and limit and offset to page. amount is always positive; effect says which way the cash moved. To see how a position ended, use Get a position; for its settlement record, use this list. Sign the request with your API key; see Authentication. It always reads the key\u0026#x27;s own account: a user_id query parameter is refused with a 401.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Splash API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.splashsports.com/predictions/reference/activity/list-transactions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://splashsports.mintlify.app/_mintlify/api/og/v2?division=Activity\u0026amp;title=List+transactions\u0026amp;description=Every+movement+of+cash+your+trading+caused%2C+newest+first%3A+each+order+that+filled+%28%60type%3A+order%60%2C+a+%60debit%60+for+a+buy+and+a+%60credit%60+for+a+sale%29+and+each+settlem\u0026amp;theme=9004f4974dec995f2169f042\u0026amp;signature=55e85898ecd142838f6dbe7a6e7c845a8bdc160e2011d4e8eb9f6683b58ef317\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List transactions - Splash API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Every movement of cash your trading caused, newest first: each order that filled (type: order, a debit for a buy and a credit for a sale) and each settlement payout (type: settlement, always a credit). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in settlement. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with List orders. Use from and to (ISO 8601 timestamps with a time zone) to read a period, and limit and offset to page. amount is always positive; effect says which way the cash moved. To see how a position ended, use Get a position; for its settlement record, use this list. Sign the request with your API key; see Authentication. It always reads the key\u0026#x27;s own account: a user_id query parameter is refused with a 401.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://splashsports.mintlify.app/_mintlify/api/og/v2?division=Activity\u0026amp;title=List+transactions\u0026amp;description=Every+movement+of+cash+your+trading+caused%2C+newest+first%3A+each+order+that+filled+%28%60type%3A+order%60%2C+a+%60debit%60+for+a+buy+and+a+%60credit%60+for+a+sale%29+and+each+settlem\u0026amp;theme=9004f4974dec995f2169f042\u0026amp;signature=55e85898ecd142838f6dbe7a6e7c845a8bdc160e2011d4e8eb9f6683b58ef317\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/splashsports/PRNnoWEL4Q64I1hT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Splash API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00938A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.splashsports.com/predictions/reference/activity/list-transactions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/predictions/reference/activity/list-transactions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.splashsports.com/#organization\",\"name\":\"Splash API\",\"url\":\"https://docs.splashsports.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/splashsports/kcAVKCSKVe9QsybE/images/Black.png?fit=max\u0026auto=format\u0026n=kcAVKCSKVe9QsybE\u0026q=85\u0026s=e3ebef52faf215906edfadd8cb6b8f6c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.splashsports.com#website\",\"name\":\"Splash API\",\"url\":\"https://docs.splashsports.com\",\"publisher\":{\"@id\":\"https://docs.splashsports.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions#webpage\",\"url\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions\",\"name\":\"List transactions\",\"description\":\"Every movement of cash your trading caused, newest first: each order that filled (type: order, a debit for a buy and a credit for a sale) and each settlement payout (type: settlement, always a credit). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in settlement. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with List orders. Use from and to (ISO 8601 timestamps with a time zone) to read a period, and limit and offset to page. amount is always positive; effect says which way the cash moved. To see how a position ended, use Get a position; for its settlement record, use this list. Sign the request with your API key; see Authentication. It always reads the key's own account: a user_id query parameter is refused with a 401.\",\"dateModified\":\"2026-11-03T04:46:16.454Z\",\"isPartOf\":{\"@id\":\"https://docs.splashsports.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.splashsports.com/predictions/reference/discover/discover-feed\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List transactions\",\"item\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions#apireference\",\"headline\":\"List transactions\",\"name\":\"List transactions\",\"description\":\"Every movement of cash your trading caused, newest first: each order that filled (type: order, a debit for a buy and a credit for a sale) and each settlement payout (type: settlement, always a credit). When a market settles, a position on the winning side is closed and its payout appears here as a settlement transaction, with the record (the result, the price each contract paid and the contracts held) in settlement. A position that settles worthless pays nothing and adds no transaction. Orders that did not fill add none either; follow those with List orders. Use from and to (ISO 8601 timestamps with a time zone) to read a period, and limit and offset to page. amount is always positive; effect says which way the cash moved. To see how a position ended, use Get a position; for its settlement record, use this list. Sign the request with your API key; see Authentication. It always reads the key's own account: a user_id query parameter is refused with a 401.\",\"url\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.splashsports.com/predictions/reference/activity/list-transactions#webpage\"},\"dateModified\":\"2026-11-03T04:46:16.454Z\",\"publisher\":{\"@id\":\"https://docs.splashsports.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.splashsports.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Splash API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Splash API","nav":{"global":null,"tabs":[{"tab":"Predictions API","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Overview","href":"/predictions/overview"},{"title":"Trading","href":"/predictions/trading"},{"title":"Authentication","href":"/predictions/authentication"},{"title":"Rate limits","href":"/predictions/rate-limits"},{"title":"Fees and order cost","href":"/predictions/fees"},{"title":"Enumerations","href":"/predictions/enums"}]},{"group":"Reference","pages":[{"group":"Discover","pages":[{"title":"Discover feed","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /discover","href":"/predictions/reference/discover/discover-feed"}]},{"group":"Sub-categories","pages":[{"title":"List sub-categories","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /sub_categories","href":"/predictions/reference/sub-categories/list-sub-categories"}]},{"group":"Markets","pages":[{"title":"List market groups","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /prediction_markets","href":"/predictions/reference/markets/list-market-groups"},{"title":"List promoted market groups","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /prediction_markets/promoted","href":"/predictions/reference/markets/list-promoted-market-groups"},{"title":"Get a market group","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /prediction_markets/{id}","href":"/predictions/reference/markets/get-a-market-group"}]},{"group":"Events","pages":[{"title":"Get a game's markets","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /events/{event_id}/details","href":"/predictions/reference/events/get-a-games-markets"}]},{"group":"Orders","pages":[{"title":"Place an order","deprecated":null,"version":null,"openapi":"/predictions/openapi.json post /trading/orders","href":"/predictions/reference/orders/place-an-order"},{"title":"List orders","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /orders","href":"/predictions/reference/orders/list-orders"},{"title":"Get an order","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /orders/{id}","href":"/predictions/reference/orders/get-an-order"}]},{"group":"Positions","pages":[{"title":"List positions","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /positions","href":"/predictions/reference/positions/list-positions"},{"title":"Get a position","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /positions/{id}","href":"/predictions/reference/positions/get-a-position"},{"title":"Get a position by market","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /positions/market/{market_id}","href":"/predictions/reference/positions/get-a-position-by-market"},{"title":"Get portfolio summary","description":"The total value and cost basis of all your open positions, in one call. Use it for a portfolio headline without paging through [List positions](/predictions/reference/positions/list-positions).\n\n`value` marks each open position at the current ask on the side you hold (contracts held times that ask), summed. `cost_basis` is what those same contracts cost plus the fees on every executed order on each open position, including sells and earlier round trips in the same market. The difference, `value` minus `cost_basis`, is your unrealized profit or loss; profit already locked in by sales and settlements is `realized_pnl` on each position, not part of this summary. Both are dollars rounded to cents, and both are 0 when you hold nothing.","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /portfolio/summary","href":"/predictions/reference/positions/get-portfolio-summary"}]},{"group":"Activity","pages":[{"title":"List transactions","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /transactions","href":"/predictions/reference/activity/list-transactions"}]},{"group":"Account","pages":[{"title":"Get account","description":"Your account's trading settings: the fee Splash charges on your orders (`fee`), the maximum trade (`max_trade`) and whether the account can trade (`trading_status`). Read it at start-up; the settings change rarely. With `fee`, and `cash_available` from [Get balance](/predictions/reference/account/get-balance), you can work out to the cent what an order will take from your cash before you send it, and then send the raw order to [Place an order](/predictions/reference/orders/place-an-order) without any fee field: Splash computes the fee itself. The formulas, rounding and a calculator are in [Fees and order cost](/predictions/fees).\n\nSign the request with your API key, like the order and position routes; see [Authentication](/predictions/authentication). A request without the `SPLASH-ACCESS-KEY` header is not an API request: it is answered `200` as for a visitor who is not logged in, with no `trading_status`, `price_tolerance` or `blocked_sub_categories`, and with Splash's default fee rather than yours. If `trading_status` is missing from a response you meant to sign, check your headers. The one exception is a request with an `Authorization` header that does not verify, which is a `401`.\n\n`kyc_failure_reason`, `kyc_docv_status`, `docv`, `price_tolerance`, `blocked_sub_categories` and `state_config` serve the Splash app; an API client normally needs only `fee`, `max_trade` and `trading_status`. Every field that has no value is omitted, never `null`.","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /account","href":"/predictions/reference/account/get-account"},{"title":"Get balance","deprecated":null,"version":null,"openapi":"/predictions/openapi.json get /balance","href":"/predictions/reference/account/get-balance"}]}]},{"group":"Types","pages":[{"title":"Market","href":"/predictions/types/market"},{"title":"GamelineMarket","href":"/predictions/types/gameline-market"},{"title":"SpreadMarket","href":"/predictions/types/spread-market"},{"title":"TotalMarket","href":"/predictions/types/total-market"},{"title":"MoneylineMarket","href":"/predictions/types/moneyline-market"},{"title":"FutureTeamChampionMarket","href":"/predictions/types/future-team-champion-market"},{"title":"PlayerPropMarket","href":"/predictions/types/player-prop-market"},{"title":"PlayerPropLine","href":"/predictions/types/player-prop-line"},{"title":"GamelineLine","href":"/predictions/types/gameline-line"},{"title":"MarketGroup","href":"/predictions/types/market-group"},{"title":"GamelineMarketGroup","href":"/predictions/types/gameline-market-group"},{"title":"FutureTeamChampionMarketGroup","href":"/predictions/types/future-team-champion-market-group"},{"title":"PlayerPropMarketGroup","href":"/predictions/types/player-prop-market-group"},{"title":"MarketPrice","href":"/predictions/types/market-price"},{"title":"Orderbook","href":"/predictions/types/orderbook"},{"title":"Included","href":"/predictions/types/included"},{"title":"Game","href":"/predictions/types/game"},{"title":"GameState","href":"/predictions/types/game-state"},{"title":"TeamState","href":"/predictions/types/team-state"},{"title":"Team","href":"/predictions/types/team"},{"title":"Entity","href":"/predictions/types/entity"},{"title":"PlayerDetails","href":"/predictions/types/player-details"},{"title":"SubCategory","href":"/predictions/types/sub-category"},{"title":"GameTab","href":"/predictions/types/game-tab"},{"title":"PlayerPropSection","href":"/predictions/types/player-prop-section"},{"title":"GamelineSection","href":"/predictions/types/gameline-section"},{"title":"Order","href":"/predictions/types/order"},{"title":"OrderWithMarket","href":"/predictions/types/order-with-market"},{"title":"OrderDetail","href":"/predictions/types/order-detail"},{"title":"PendingOrder","href":"/predictions/types/pending-order"},{"title":"OriginalBuy","href":"/predictions/types/original-buy"},{"title":"PlaceOrderRequest","href":"/predictions/types/place-order-request"},{"title":"PlaceOrderResponse","href":"/predictions/types/place-order-response"},{"title":"Position","href":"/predictions/types/position"},{"title":"PositionDetail","href":"/predictions/types/position-detail"},{"title":"Transaction","href":"/predictions/types/transaction"},{"title":"Settlement","href":"/predictions/types/settlement"},{"title":"FeeInfo","href":"/predictions/types/fee-info"}]}]}]},"basePath":"","title":"List transactions - Splash API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}