The profit and loss of one wallet in the windows of GET /v3/traders/{traderId}/pnl. 24h, 7d, 30d and unrealized come from our data provider for this wallet; all is ours, computed from the trades we index.
status, retryAfterSeconds, asOf, nextUpdateAt, stale and window follow the rules of GET /v3/traders/{traderId}/pnl. no_wallet cannot occur.
wallets names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal.
boards says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it.
Any wallet we hold answers, mapped to a trader or not. The document names no owner: GET /v3/wallets/{family}/{address} does.
all is null when we hold no figure of the wallet. Its realized and unrealized are ours, from the trades we index, and total is their sum. Its rank is null: no ranking lists wallets.
Price
The price depends on the answer.
Answer
Credits
Reveals
status is ready.
500
0
Any other status, or 404 for a wallet we never saw.
200
0
Limits
2,000 requests per minute from one address on this operation, beside the per-minute limit of the key.
A key with less than 200 credits left gets 402 QUOTA_EXCEEDED before any work.
A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.
The wal_ ids the figures cover, one per address family, Solana first: the wallet asked for and, when a platform keys it to an account of one trader, the wallet of the other family the same trader holds as an account key on that platform. Listed whatever the status.
ready: figures present. pending: no reading yet; call again after retryAfterSeconds. failed: the last read failed; call again after retryAfterSeconds. unavailable: provider reads are off or this month's provider budget is spent.
When the first figure from our data provider falls due to be read again: its asOf plus its refresh interval. The first call after that time reads it again. Earlier than now when stale is true. null unless status is ready.
true when at least one figure from our data provider is past its refresh interval and this call could not read it again: the read failed, did not finish within the 8 second wait, or this month's provider budget is spent. A later call can carry newer figures. The computed all window does not count. false unless status is ready.
Where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it, for reference. The platform computes these itself; they need not match the windows above. Empty when no board lists them.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FomoScan","colors":{"primary":"#2D6BF5","light":"#3B78FF","dark":"#2D6BF5"},"logo":{"light":"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527","dark":"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527"},"favicon":"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"]}},"appearance":{"default":"dark"},"background":{"color":{"dark":"#08090C"}},"navbar":{"links":[{"href":"https://partner.fomoscan.sh/login","label":"Log in"}],"primary":{"type":"button","label":"Get an API key","href":"https://partner.fomoscan.sh/signup"}},"footer":{"socials":{"website":"https://fomoscan.sh"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Partner portal","icon":"key","href":"https://partner.fomoscan.sh"},{"anchor":"OpenAPI spec","icon":"code","href":"https://api.fomoscan.sh/openapi.json"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"socialscan","hasAudioNarration":false,"actualSubdomain":"socialscan","customDomains":["docs.fomoscan.sh"],"gitSource":{"type":"github","owner":"funny-development-org","repo":"fomoscan-monorepo","deployBranch":"main","contentDirectory":"apps/web/docs","isPrivate":true,"mountPath":"","label":"","_id":"6aeb9444574a98914de25354"},"chroma":{"latestBuiltDeploymentHistoryId":"6aeba1c79a06eb92c7d964e2","collectionId":"ebaf5f04-b731-4f1f-be6c-a698b18b49c8","liveDeploymentHistoryId":"6aeba1c79a06eb92c7d964e2","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aeba1c79a06eb92c7d964e2","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"default","tag":"API reference","count":56},{"language":"default","tag":"Endpoints","count":49},{"language":"default","tag":"Overview","count":26},{"language":"default","tag":"Core concepts","count":10},{"language":"default","tag":"Examples","count":10},{"language":"default","tag":"Identities","count":9},{"language":"default","tag":"WebSocket","count":7},{"language":"default","tag":"Pump","count":7},{"language":"default","tag":"Traders","count":7},{"language":"default","tag":"Get started","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"rbac-expansion","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":"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":"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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet","slug":"/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet","pageMetadata":{"title":"Read one wallet's PnL across the whole wallet","description":"The profit and loss of one wallet in the windows of `GET /v3/traders/{traderId}/pnl`. `24h`, `7d`, `30d` and `unrealized` come from our data provider for this wallet; `all` is ours, computed from the trades we index.\n\n- `status`, `retryAfterSeconds`, `asOf`, `nextUpdateAt`, `stale` and `window` follow the rules of `GET /v3/traders/{traderId}/pnl`. `no_wallet` cannot occur.\n- `wallets` names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal.\n- `boards` says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it.\n- Any wallet we hold answers, mapped to a trader or not. The document names no owner: `GET /v3/wallets/{family}/{address}` does.\n- `all` is `null` when we hold no figure of the wallet. Its `realized` and `unrealized` are ours, from the trades we index, and `total` is their sum. Its `rank` is `null`: no ranking lists wallets.\n\n## Price\n\nThe price depends on the answer.\n\n| Answer | Credits | Reveals |\n| --- | --- | --- |\n| `status` is `ready`. | 500 | 0 |\n| Any other `status`, or 404 for a wallet we never saw. | 200 | 0 |\n\n## Limits\n\n- 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key.\n- A key with less than 200 credits left gets 402 `QUOTA_EXCEEDED` before any work.\n- A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/wallets/{family}/{address}/pnl","href":"/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet","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 code: \"code\",\n h2: \"h2\",\n li: \"li\",\n p: \"p\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"The profit and loss of one wallet in the windows of \", _jsx(_components.code, {\n children: \"GET /v3/traders/{traderId}/pnl\"\n }), \". \", _jsx(_components.code, {\n children: \"24h\"\n }), \", \", _jsx(_components.code, {\n children: \"7d\"\n }), \", \", _jsx(_components.code, {\n children: \"30d\"\n }), \" and \", _jsx(_components.code, {\n children: \"unrealized\"\n }), \" come from our data provider for this wallet; \", _jsx(_components.code, {\n children: \"all\"\n }), \" is ours, computed from the trades we index.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"status\"\n }), \", \", _jsx(_components.code, {\n children: \"retryAfterSeconds\"\n }), \", \", _jsx(_components.code, {\n children: \"asOf\"\n }), \", \", _jsx(_components.code, {\n children: \"nextUpdateAt\"\n }), \", \", _jsx(_components.code, {\n children: \"stale\"\n }), \" and \", _jsx(_components.code, {\n children: \"window\"\n }), \" follow the rules of \", _jsx(_components.code, {\n children: \"GET /v3/traders/{traderId}/pnl\"\n }), \". \", _jsx(_components.code, {\n children: \"no_wallet\"\n }), \" cannot occur.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"wallets\"\n }), \" names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"boards\"\n }), \" says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Any wallet we hold answers, mapped to a trader or not. The document names no owner: \", _jsx(_components.code, {\n children: \"GET /v3/wallets/{family}/{address}\"\n }), \" does.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"all\"\n }), \" is \", _jsx(_components.code, {\n children: \"null\"\n }), \" when we hold no figure of the wallet. Its \", _jsx(_components.code, {\n children: \"realized\"\n }), \" and \", _jsx(_components.code, {\n children: \"unrealized\"\n }), \" are ours, from the trades we index, and \", _jsx(_components.code, {\n children: \"total\"\n }), \" is their sum. Its \", _jsx(_components.code, {\n children: \"rank\"\n }), \" is \", _jsx(_components.code, {\n children: \"null\"\n }), \": no ranking lists wallets.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Price\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"The price depends on the answer.\"\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"Answer\"\n }), _jsx(_components.th, {\n children: \"Credits\"\n }), _jsx(_components.th, {\n children: \"Reveals\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsxs(_components.td, {\n children: [_jsx(_components.code, {\n children: \"status\"\n }), \" is \", _jsx(_components.code, {\n children: \"ready\"\n }), \".\"]\n }), _jsx(_components.td, {\n children: \"500\"\n }), _jsx(_components.td, {\n children: \"0\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsxs(_components.td, {\n children: [\"Any other \", _jsx(_components.code, {\n children: \"status\"\n }), \", or 404 for a wallet we never saw.\"]\n }), _jsx(_components.td, {\n children: \"200\"\n }), _jsx(_components.td, {\n children: \"0\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Limits\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"2,000 requests per minute from one address on this operation, beside the per-minute limit of the key.\"\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"A key with less than 200 credits left gets 402 \", _jsx(_components.code, {\n children: \"QUOTA_EXCEEDED\"\n }), \" before any work.\"]\n }), \"\\n\", _jsx(_components.li, {\n children: \"A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.\"\n }), \"\\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":"Read one wallet's PnL across the whole wallet","description":"The profit and loss of one wallet in the windows of `GET /v3/traders/{traderId}/pnl`. `24h`, `7d`, `30d` and `unrealized` come from our data provider for this wallet; `all` is ours, computed from the trades we index.\n\n- `status`, `retryAfterSeconds`, `asOf`, `nextUpdateAt`, `stale` and `window` follow the rules of `GET /v3/traders/{traderId}/pnl`. `no_wallet` cannot occur.\n- `wallets` names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal.\n- `boards` says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it.\n- Any wallet we hold answers, mapped to a trader or not. The document names no owner: `GET /v3/wallets/{family}/{address}` does.\n- `all` is `null` when we hold no figure of the wallet. Its `realized` and `unrealized` are ours, from the trades we index, and `total` is their sum. Its `rank` is `null`: no ranking lists wallets.\n\n## Price\n\nThe price depends on the answer.\n\n| Answer | Credits | Reveals |\n| --- | --- | --- |\n| `status` is `ready`. | 500 | 0 |\n| Any other `status`, or 404 for a wallet we never saw. | 200 | 0 |\n\n## Limits\n\n- 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key.\n- A key with less than 200 credits left gets 402 `QUOTA_EXCEEDED` before any work.\n- A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/wallets/{family}/{address}/pnl","href":"/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getWalletPnl","summary":"Read one wallet's PnL across the whole wallet","description":"The profit and loss of one wallet in the windows of `GET /v3/traders/{traderId}/pnl`. `24h`, `7d`, `30d` and `unrealized` come from our data provider for this wallet; `all` is ours, computed from the trades we index.\n\n- `status`, `retryAfterSeconds`, `asOf`, `nextUpdateAt`, `stale` and `window` follow the rules of `GET /v3/traders/{traderId}/pnl`. `no_wallet` cannot occur.\n- `wallets` names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal.\n- `boards` says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it.\n- Any wallet we hold answers, mapped to a trader or not. The document names no owner: `GET /v3/wallets/{family}/{address}` does.\n- `all` is `null` when we hold no figure of the wallet. Its `realized` and `unrealized` are ours, from the trades we index, and `total` is their sum. Its `rank` is `null`: no ranking lists wallets.\n\n## Price\n\nThe price depends on the answer.\n\n| Answer | Credits | Reveals |\n| --- | --- | --- |\n| `status` is `ready`. | 500 | 0 |\n| Any other `status`, or 404 for a wallet we never saw. | 200 | 0 |\n\n## Limits\n\n- 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key.\n- A key with less than 200 credits left gets 402 `QUOTA_EXCEEDED` before any work.\n- A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.","tags":["Wallets"],"x-operation":25,"parameters":["52f9e4d3-63f0-48ec-bce6-2e147829b6b5","bc3bac66-27c9-47fd-a18b-b4c2408f2c4f","fe4a6494-3deb-4b8c-8eaf-19b18e528a58"],"responses":{"200":"569be468-0c5f-423c-bab5-df79cea1d6a6","400":"b8ccfa45-6da5-4abc-b9a8-2aa5bfa0afe4","401":"688d7948-e625-4775-9e42-23d036260710","402":"ac801459-8dba-43e6-87d3-f3032d6e80c7","403":"662ec05b-8e09-40b1-aebe-f6ca6f56bf85","404":"b1dea5b5-5d44-4dca-b914-b1467b041981","429":"9303ad07-af0b-4049-ba0f-049c62f5e54b","500":"cd216fef-d117-40b1-b5c9-8a8fca875dc0","503":"85de21e4-279c-40d6-98cb-c2cf54bbbdea"},"method":"get","type":"path","servers":["5fe32091-bca0-4091-894b-0b0476baa441"],"security":["1dae2ee9-4ade-434c-a812-454ff298e096","cc08a9cd-c1f8-4037-b1f0-a8a921734bd0"],"path":"/v3/wallets/{family}/{address}/pnl","baseUrlOptions":["https://api.fomoscan.sh"],"title":"Read one wallet's PnL across the whole wallet","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"52f9e4d3-63f0-48ec-bce6-2e147829b6b5":{"name":"family","in":"path","description":"The address family: `svm` for Solana, `evm` for EVM networks.","required":true,"schema":{"type":"string","enum":["svm","evm"],"isRequired":true,"description":"The address family: `svm` for Solana, `evm` for EVM networks.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"bc3bac66-27c9-47fd-a18b-b4c2408f2c4f":{"name":"address","in":"path","description":"The wallet address. An EVM address matches in any letter case.","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"isRequired":true,"description":"The wallet address. An EVM address matches in any letter case.","uniqueKey":"","typeLabel":"string"}},"fe4a6494-3deb-4b8c-8eaf-19b18e528a58":{"name":"window","in":"query","description":"One window: `24h`, `7d`, `30d` or `all`. Leave it out for all four. `status` stays the same either way.","required":false,"schema":{"type":"string","enum":["24h","7d","30d","all"],"isRequired":false,"description":"One window: `24h`, `7d`, `30d` or `all`. Leave it out for all four. `status` stays the same either way.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"569be468-0c5f-423c-bab5-df79cea1d6a6":{"description":"OK","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests per minute allowed for the key.","schema":{"type":"integer","minimum":0}},"RateLimit-Remaining":{"description":"Requests left in the current minute.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Seconds until the current minute ends.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"type":"object","properties":{"wallet":{"type":"string","description":"The `wal_` id of the wallet asked for.","isRequired":true,"uniqueKey":"wallet","typeLabel":"string"},"wallets":{"type":"array","items":{"type":"string","uniqueKey":"wallets.items.[INDEX]","typeLabel":"string"},"description":"The `wal_` ids the figures cover, one per address family, Solana first: the wallet asked for and, when a platform keys it to an account of one trader, the wallet of the other family the same trader holds as an account key on that platform. Listed whatever the status.","isRequired":true,"uniqueKey":"wallets","typeLabel":"string[]"},"status":{"type":"string","enum":["ready","pending","failed","unavailable"],"description":"`ready`: figures present. `pending`: no reading yet; call again after `retryAfterSeconds`. `failed`: the last read failed; call again after `retryAfterSeconds`. `unavailable`: provider reads are off or this month's provider budget is spent.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"retryAfterSeconds":{"oneOf":[{"type":"integer","description":"Seconds to wait before you ask again while `status` is `pending` or `failed`; else `null`.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"retryAfterSeconds.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Seconds to wait before you ask again while `status` is `pending` or `failed`; else `null`.","isRequired":true,"uniqueKey":"retryAfterSeconds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"retryAfterSeconds","typeLabel":"integer | null"},"windows":{"type":"object","properties":{"24h":{"description":"The last 24 hours, from our data provider.","type":"object","properties":{"origin":{"type":"string","enum":["computed","provider"],"description":"`provider`: figures of the whole wallets from our data provider, every venue. `computed`: our figures from the trades and rankings we compute.","isRequired":true,"uniqueKey":"windows.24h.origin","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["ready","pending"],"description":"`ready`: the values hold a reading. `pending`: no reading yet, and every value is `null`.","isRequired":true,"uniqueKey":"windows.24h.status","typeLabel":"enum\u003cstring>"},"realized":{"oneOf":[{"type":"object","description":"Profit or loss taken by selling, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.realized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.realized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.realized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.realized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.realized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss taken by selling, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.realized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.realized","typeLabel":"object | null"},"unrealized":{"oneOf":[{"type":"object","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.unrealized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.unrealized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.unrealized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.unrealized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.unrealized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","isRequired":true,"uniqueKey":"windows.24h.unrealized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.unrealized","typeLabel":"object | null"},"total":{"oneOf":[{"type":"object","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.total.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.total.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.total.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.total.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.total.oneOf.0","typeLabel":"object"},{"type":"null","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","isRequired":true,"uniqueKey":"windows.24h.total.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.total","typeLabel":"object | null"},"unpricedProceeds":{"oneOf":[{"type":"object","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.unpricedProceeds.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.unpricedProceeds.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.unpricedProceeds.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.unpricedProceeds.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.unpricedProceeds.oneOf.0","typeLabel":"object"},{"type":"null","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.unpricedProceeds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.unpricedProceeds","typeLabel":"object | null"},"netFlow":{"oneOf":[{"type":"object","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.netFlow.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.netFlow.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.netFlow.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.netFlow.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.netFlow.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.netFlow.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.netFlow","typeLabel":"object | null"},"volume":{"oneOf":[{"type":"object","description":"Buy volume plus sell volume, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.volume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.volume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.volume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.volume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.volume.oneOf.0","typeLabel":"object"},{"type":"null","description":"Buy volume plus sell volume, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.volume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.volume","typeLabel":"object | null"},"buyVolume":{"oneOf":[{"type":"object","description":"USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.buyVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.buyVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.buyVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.buyVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.buyVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.buyVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.buyVolume","typeLabel":"object | null"},"sellVolume":{"oneOf":[{"type":"object","description":"USD received from sells, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.24h.sellVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.24h.sellVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.24h.sellVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.24h.sellVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.24h.sellVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.sellVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.sellVolume","typeLabel":"object | null"},"returnPct":{"oneOf":[{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"number","isRequired":true,"uniqueKey":"windows.24h.returnPct.oneOf.0","typeLabel":"number"},{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"null","isRequired":true,"uniqueKey":"windows.24h.returnPct.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.returnPct","typeLabel":"number | null"},"tradeCount":{"oneOf":[{"type":"integer","description":"Trades in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.24h.tradeCount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Trades in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.tradeCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.tradeCount","typeLabel":"integer | null"},"buys":{"oneOf":[{"type":"integer","description":"Buys in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.24h.buys.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Buys in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.buys.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.buys","typeLabel":"integer | null"},"sells":{"oneOf":[{"type":"integer","description":"Sells in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.24h.sells.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sells in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.sells.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.sells","typeLabel":"integer | null"},"tokensTraded":{"oneOf":[{"type":"integer","description":"Distinct tokens traded in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.24h.tokensTraded.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Distinct tokens traded in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.tokensTraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.tokensTraded","typeLabel":"integer | null"},"winningTokens":{"oneOf":[{"type":"integer","description":"Tokens closed at a profit in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.24h.winningTokens.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tokens closed at a profit in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.24h.winningTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.winningTokens","typeLabel":"integer | null"},"rank":{"oneOf":[{"type":"object","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","required":["position","of","ranking"],"properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1 plus the number of subjects with a higher value. Ties share a position.","isRequired":true,"uniqueKey":"windows.24h.rank.oneOf.0.position","typeLabel":"integer"},"of":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Subjects in the ranking.","isRequired":true,"uniqueKey":"windows.24h.rank.oneOf.0.of","typeLabel":"integer"},"ranking":{"type":"string","description":"The ranking key, for `GET /v3/rankings/{key}`.","isRequired":true,"uniqueKey":"windows.24h.rank.oneOf.0.ranking","typeLabel":"string"}},"isRequired":true,"uniqueKey":"windows.24h.rank.oneOf.0","typeLabel":"object"},{"type":"null","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","isRequired":true,"uniqueKey":"windows.24h.rank.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.rank","typeLabel":"object | null"},"asOf":{"oneOf":[{"type":"string","description":"When the figures were read or computed. `null` while `pending`.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":true,"uniqueKey":"windows.24h.asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the figures were read or computed. `null` while `pending`.","isRequired":true,"uniqueKey":"windows.24h.asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.24h.asOf","typeLabel":"string\u003cdate-time> | null"},"approximate":{"type":"boolean","description":"`true` when our data provider could not read this window and we counted it from per-token totals of the wallets' positions instead: each token's whole realized profit, volume and trade count lands in the window of its last trade, so `24h`, `7d` and `30d` can show more than happened inside them. The next reading of the window replaces these figures. `false` otherwise, while `pending`, and on a computed window.","isRequired":true,"uniqueKey":"windows.24h.approximate","typeLabel":"boolean"}},"required":["origin","status","realized","unrealized","total","unpricedProceeds","netFlow","volume","buyVolume","sellVolume","returnPct","tradeCount","buys","sells","tokensTraded","winningTokens","rank","asOf","approximate"],"uniqueKey":"windows.24h","typeLabel":"object"},"7d":{"description":"The last 7 days, from our data provider.","type":"object","properties":{"origin":{"type":"string","enum":["computed","provider"],"description":"`provider`: figures of the whole wallets from our data provider, every venue. `computed`: our figures from the trades and rankings we compute.","isRequired":true,"uniqueKey":"windows.7d.origin","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["ready","pending"],"description":"`ready`: the values hold a reading. `pending`: no reading yet, and every value is `null`.","isRequired":true,"uniqueKey":"windows.7d.status","typeLabel":"enum\u003cstring>"},"realized":{"oneOf":[{"type":"object","description":"Profit or loss taken by selling, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.realized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.realized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.realized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.realized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.realized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss taken by selling, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.realized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.realized","typeLabel":"object | null"},"unrealized":{"oneOf":[{"type":"object","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.unrealized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.unrealized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.unrealized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.unrealized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.unrealized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","isRequired":true,"uniqueKey":"windows.7d.unrealized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.unrealized","typeLabel":"object | null"},"total":{"oneOf":[{"type":"object","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.total.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.total.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.total.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.total.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.total.oneOf.0","typeLabel":"object"},{"type":"null","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","isRequired":true,"uniqueKey":"windows.7d.total.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.total","typeLabel":"object | null"},"unpricedProceeds":{"oneOf":[{"type":"object","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.unpricedProceeds.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.unpricedProceeds.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.unpricedProceeds.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.unpricedProceeds.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.unpricedProceeds.oneOf.0","typeLabel":"object"},{"type":"null","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.unpricedProceeds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.unpricedProceeds","typeLabel":"object | null"},"netFlow":{"oneOf":[{"type":"object","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.netFlow.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.netFlow.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.netFlow.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.netFlow.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.netFlow.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.netFlow.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.netFlow","typeLabel":"object | null"},"volume":{"oneOf":[{"type":"object","description":"Buy volume plus sell volume, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.volume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.volume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.volume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.volume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.volume.oneOf.0","typeLabel":"object"},{"type":"null","description":"Buy volume plus sell volume, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.volume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.volume","typeLabel":"object | null"},"buyVolume":{"oneOf":[{"type":"object","description":"USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.buyVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.buyVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.buyVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.buyVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.buyVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.buyVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.buyVolume","typeLabel":"object | null"},"sellVolume":{"oneOf":[{"type":"object","description":"USD received from sells, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.7d.sellVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.7d.sellVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.7d.sellVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.7d.sellVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.7d.sellVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.sellVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.sellVolume","typeLabel":"object | null"},"returnPct":{"oneOf":[{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"number","isRequired":true,"uniqueKey":"windows.7d.returnPct.oneOf.0","typeLabel":"number"},{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"null","isRequired":true,"uniqueKey":"windows.7d.returnPct.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.returnPct","typeLabel":"number | null"},"tradeCount":{"oneOf":[{"type":"integer","description":"Trades in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.7d.tradeCount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Trades in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.tradeCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.tradeCount","typeLabel":"integer | null"},"buys":{"oneOf":[{"type":"integer","description":"Buys in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.7d.buys.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Buys in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.buys.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.buys","typeLabel":"integer | null"},"sells":{"oneOf":[{"type":"integer","description":"Sells in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.7d.sells.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sells in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.sells.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.sells","typeLabel":"integer | null"},"tokensTraded":{"oneOf":[{"type":"integer","description":"Distinct tokens traded in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.7d.tokensTraded.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Distinct tokens traded in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.tokensTraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.tokensTraded","typeLabel":"integer | null"},"winningTokens":{"oneOf":[{"type":"integer","description":"Tokens closed at a profit in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.7d.winningTokens.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tokens closed at a profit in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.7d.winningTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.winningTokens","typeLabel":"integer | null"},"rank":{"oneOf":[{"type":"object","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","required":["position","of","ranking"],"properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1 plus the number of subjects with a higher value. Ties share a position.","isRequired":true,"uniqueKey":"windows.7d.rank.oneOf.0.position","typeLabel":"integer"},"of":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Subjects in the ranking.","isRequired":true,"uniqueKey":"windows.7d.rank.oneOf.0.of","typeLabel":"integer"},"ranking":{"type":"string","description":"The ranking key, for `GET /v3/rankings/{key}`.","isRequired":true,"uniqueKey":"windows.7d.rank.oneOf.0.ranking","typeLabel":"string"}},"isRequired":true,"uniqueKey":"windows.7d.rank.oneOf.0","typeLabel":"object"},{"type":"null","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","isRequired":true,"uniqueKey":"windows.7d.rank.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.rank","typeLabel":"object | null"},"asOf":{"oneOf":[{"type":"string","description":"When the figures were read or computed. `null` while `pending`.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":true,"uniqueKey":"windows.7d.asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the figures were read or computed. `null` while `pending`.","isRequired":true,"uniqueKey":"windows.7d.asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.7d.asOf","typeLabel":"string\u003cdate-time> | null"},"approximate":{"type":"boolean","description":"`true` when our data provider could not read this window and we counted it from per-token totals of the wallets' positions instead: each token's whole realized profit, volume and trade count lands in the window of its last trade, so `24h`, `7d` and `30d` can show more than happened inside them. The next reading of the window replaces these figures. `false` otherwise, while `pending`, and on a computed window.","isRequired":true,"uniqueKey":"windows.7d.approximate","typeLabel":"boolean"}},"required":["origin","status","realized","unrealized","total","unpricedProceeds","netFlow","volume","buyVolume","sellVolume","returnPct","tradeCount","buys","sells","tokensTraded","winningTokens","rank","asOf","approximate"],"uniqueKey":"windows.7d","typeLabel":"object"},"30d":{"description":"The last 30 days, from our data provider.","type":"object","properties":{"origin":{"type":"string","enum":["computed","provider"],"description":"`provider`: figures of the whole wallets from our data provider, every venue. `computed`: our figures from the trades and rankings we compute.","isRequired":true,"uniqueKey":"windows.30d.origin","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["ready","pending"],"description":"`ready`: the values hold a reading. `pending`: no reading yet, and every value is `null`.","isRequired":true,"uniqueKey":"windows.30d.status","typeLabel":"enum\u003cstring>"},"realized":{"oneOf":[{"type":"object","description":"Profit or loss taken by selling, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.realized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.realized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.realized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.realized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.realized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss taken by selling, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.realized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.realized","typeLabel":"object | null"},"unrealized":{"oneOf":[{"type":"object","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.unrealized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.unrealized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.unrealized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.unrealized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.unrealized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","isRequired":true,"uniqueKey":"windows.30d.unrealized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.unrealized","typeLabel":"object | null"},"total":{"oneOf":[{"type":"object","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.total.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.total.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.total.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.total.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.total.oneOf.0","typeLabel":"object"},{"type":"null","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","isRequired":true,"uniqueKey":"windows.30d.total.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.total","typeLabel":"object | null"},"unpricedProceeds":{"oneOf":[{"type":"object","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.unpricedProceeds.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.unpricedProceeds.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.unpricedProceeds.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.unpricedProceeds.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.unpricedProceeds.oneOf.0","typeLabel":"object"},{"type":"null","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.unpricedProceeds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.unpricedProceeds","typeLabel":"object | null"},"netFlow":{"oneOf":[{"type":"object","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.netFlow.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.netFlow.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.netFlow.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.netFlow.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.netFlow.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.netFlow.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.netFlow","typeLabel":"object | null"},"volume":{"oneOf":[{"type":"object","description":"Buy volume plus sell volume, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.volume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.volume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.volume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.volume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.volume.oneOf.0","typeLabel":"object"},{"type":"null","description":"Buy volume plus sell volume, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.volume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.volume","typeLabel":"object | null"},"buyVolume":{"oneOf":[{"type":"object","description":"USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.buyVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.buyVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.buyVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.buyVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.buyVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.buyVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.buyVolume","typeLabel":"object | null"},"sellVolume":{"oneOf":[{"type":"object","description":"USD received from sells, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.30d.sellVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.30d.sellVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.30d.sellVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.30d.sellVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.30d.sellVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.sellVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.sellVolume","typeLabel":"object | null"},"returnPct":{"oneOf":[{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"number","isRequired":true,"uniqueKey":"windows.30d.returnPct.oneOf.0","typeLabel":"number"},{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"null","isRequired":true,"uniqueKey":"windows.30d.returnPct.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.returnPct","typeLabel":"number | null"},"tradeCount":{"oneOf":[{"type":"integer","description":"Trades in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.30d.tradeCount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Trades in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.tradeCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.tradeCount","typeLabel":"integer | null"},"buys":{"oneOf":[{"type":"integer","description":"Buys in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.30d.buys.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Buys in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.buys.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.buys","typeLabel":"integer | null"},"sells":{"oneOf":[{"type":"integer","description":"Sells in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.30d.sells.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sells in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.sells.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.sells","typeLabel":"integer | null"},"tokensTraded":{"oneOf":[{"type":"integer","description":"Distinct tokens traded in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.30d.tokensTraded.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Distinct tokens traded in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.tokensTraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.tokensTraded","typeLabel":"integer | null"},"winningTokens":{"oneOf":[{"type":"integer","description":"Tokens closed at a profit in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.30d.winningTokens.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tokens closed at a profit in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.30d.winningTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.winningTokens","typeLabel":"integer | null"},"rank":{"oneOf":[{"type":"object","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","required":["position","of","ranking"],"properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1 plus the number of subjects with a higher value. Ties share a position.","isRequired":true,"uniqueKey":"windows.30d.rank.oneOf.0.position","typeLabel":"integer"},"of":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Subjects in the ranking.","isRequired":true,"uniqueKey":"windows.30d.rank.oneOf.0.of","typeLabel":"integer"},"ranking":{"type":"string","description":"The ranking key, for `GET /v3/rankings/{key}`.","isRequired":true,"uniqueKey":"windows.30d.rank.oneOf.0.ranking","typeLabel":"string"}},"isRequired":true,"uniqueKey":"windows.30d.rank.oneOf.0","typeLabel":"object"},{"type":"null","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","isRequired":true,"uniqueKey":"windows.30d.rank.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.rank","typeLabel":"object | null"},"asOf":{"oneOf":[{"type":"string","description":"When the figures were read or computed. `null` while `pending`.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":true,"uniqueKey":"windows.30d.asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the figures were read or computed. `null` while `pending`.","isRequired":true,"uniqueKey":"windows.30d.asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.30d.asOf","typeLabel":"string\u003cdate-time> | null"},"approximate":{"type":"boolean","description":"`true` when our data provider could not read this window and we counted it from per-token totals of the wallets' positions instead: each token's whole realized profit, volume and trade count lands in the window of its last trade, so `24h`, `7d` and `30d` can show more than happened inside them. The next reading of the window replaces these figures. `false` otherwise, while `pending`, and on a computed window.","isRequired":true,"uniqueKey":"windows.30d.approximate","typeLabel":"boolean"}},"required":["origin","status","realized","unrealized","total","unpricedProceeds","netFlow","volume","buyVolume","sellVolume","returnPct","tradeCount","buys","sells","tokensTraded","winningTokens","rank","asOf","approximate"],"uniqueKey":"windows.30d","typeLabel":"object"},"all":{"oneOf":[{"type":"object","description":"All time, computed by us. `null` when we hold no figure.","required":["origin","status","realized","unrealized","total","unpricedProceeds","netFlow","volume","buyVolume","sellVolume","returnPct","tradeCount","buys","sells","tokensTraded","winningTokens","rank","asOf","approximate"],"properties":{"origin":{"type":"string","enum":["computed","provider"],"description":"`provider`: figures of the whole wallets from our data provider, every venue. `computed`: our figures from the trades and rankings we compute.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.origin","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["ready","pending"],"description":"`ready`: the values hold a reading. `pending`: no reading yet, and every value is `null`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.status","typeLabel":"enum\u003cstring>"},"realized":{"oneOf":[{"type":"object","description":"Profit or loss taken by selling, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.realized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.realized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.realized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.realized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.realized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss taken by selling, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.realized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.realized","typeLabel":"object | null"},"unrealized":{"oneOf":[{"type":"object","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unrealized.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unrealized.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unrealized.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.unrealized.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.unrealized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss on tokens still held, in USD. On `24h`, `7d` and `30d`: the open positions last traded inside the window, on UTC calendar days (`24h` from 00:00 UTC today, `7d` and `30d` from 00:00 UTC 6 and 29 days before), from the reading of the top `unrealized`, which leaves out the same positions. On `all`: our own figure from the trades we hold, on a wallet. `null` when not known, and on the `all` of a trader.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unrealized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.unrealized","typeLabel":"object | null"},"total":{"oneOf":[{"type":"object","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.total.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.total.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.total.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.total.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.total.oneOf.0","typeLabel":"object"},{"type":"null","description":"`realized` plus `unrealized`, in USD: one formula on every window. `null` when either is `null`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.total.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.total","typeLabel":"object | null"},"unpricedProceeds":{"oneOf":[{"type":"object","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unpricedProceeds.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unpricedProceeds.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unpricedProceeds.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.unpricedProceeds.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.unpricedProceeds.oneOf.0","typeLabel":"object"},{"type":"null","description":"Proceeds of tokens sold beyond the position we saw them buy, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.unpricedProceeds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.unpricedProceeds","typeLabel":"object | null"},"netFlow":{"oneOf":[{"type":"object","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.netFlow.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.netFlow.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.netFlow.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.netFlow.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.netFlow.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells minus USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.netFlow.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.netFlow","typeLabel":"object | null"},"volume":{"oneOf":[{"type":"object","description":"Buy volume plus sell volume, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.volume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.volume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.volume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.volume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.volume.oneOf.0","typeLabel":"object"},{"type":"null","description":"Buy volume plus sell volume, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.volume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.volume","typeLabel":"object | null"},"buyVolume":{"oneOf":[{"type":"object","description":"USD paid for buys, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.buyVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.buyVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.buyVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.buyVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.buyVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD paid for buys, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.buyVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.buyVolume","typeLabel":"object | null"},"sellVolume":{"oneOf":[{"type":"object","description":"USD received from sells, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.sellVolume.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.sellVolume.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.sellVolume.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"windows.all.oneOf.0.sellVolume.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.sellVolume.oneOf.0","typeLabel":"object"},{"type":"null","description":"USD received from sells, in USD. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.sellVolume.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.sellVolume","typeLabel":"object | null"},"returnPct":{"oneOf":[{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"number","isRequired":true,"uniqueKey":"windows.all.oneOf.0.returnPct.oneOf.0","typeLabel":"number"},{"description":"Return in percent, rounded to 8 decimals: 10 means a 10 % gain. `null` when the base is zero or not known.","type":"null","isRequired":true,"uniqueKey":"windows.all.oneOf.0.returnPct.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.returnPct","typeLabel":"number | null"},"tradeCount":{"oneOf":[{"type":"integer","description":"Trades in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.all.oneOf.0.tradeCount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Trades in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.tradeCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.tradeCount","typeLabel":"integer | null"},"buys":{"oneOf":[{"type":"integer","description":"Buys in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.all.oneOf.0.buys.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Buys in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.buys.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.buys","typeLabel":"integer | null"},"sells":{"oneOf":[{"type":"integer","description":"Sells in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.all.oneOf.0.sells.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sells in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.sells.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.sells","typeLabel":"integer | null"},"tokensTraded":{"oneOf":[{"type":"integer","description":"Distinct tokens traded in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.all.oneOf.0.tokensTraded.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Distinct tokens traded in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.tokensTraded.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.tokensTraded","typeLabel":"integer | null"},"winningTokens":{"oneOf":[{"type":"integer","description":"Tokens closed at a profit in the window. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"windows.all.oneOf.0.winningTokens.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Tokens closed at a profit in the window. `null` when not known.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.winningTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.winningTokens","typeLabel":"integer | null"},"rank":{"oneOf":[{"type":"object","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","required":["position","of","ranking"],"properties":{"position":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"1 plus the number of subjects with a higher value. Ties share a position.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.rank.oneOf.0.position","typeLabel":"integer"},"of":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Subjects in the ranking.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.rank.oneOf.0.of","typeLabel":"integer"},"ranking":{"type":"string","description":"The ranking key, for `GET /v3/rankings/{key}`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.rank.oneOf.0.ranking","typeLabel":"string"}},"isRequired":true,"uniqueKey":"windows.all.oneOf.0.rank.oneOf.0","typeLabel":"object"},{"type":"null","description":"Where the trader stands in our ranking for this window. Set on a trader's `all`; `null` on the other windows and on a wallet.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.rank.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.rank","typeLabel":"object | null"},"asOf":{"oneOf":[{"type":"string","description":"When the figures were read or computed. `null` while `pending`.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":true,"uniqueKey":"windows.all.oneOf.0.asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the figures were read or computed. `null` while `pending`.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"windows.all.oneOf.0.asOf","typeLabel":"string\u003cdate-time> | null"},"approximate":{"type":"boolean","description":"`true` when our data provider could not read this window and we counted it from per-token totals of the wallets' positions instead: each token's whole realized profit, volume and trade count lands in the window of its last trade, so `24h`, `7d` and `30d` can show more than happened inside them. The next reading of the window replaces these figures. `false` otherwise, while `pending`, and on a computed window.","isRequired":true,"uniqueKey":"windows.all.oneOf.0.approximate","typeLabel":"boolean"}},"uniqueKey":"windows.all.oneOf.0","typeLabel":"object"},{"type":"null","description":"All time, computed by us. `null` when we hold no figure.","uniqueKey":"windows.all.oneOf.1","typeLabel":"null"}],"uniqueKey":"windows.all","typeLabel":"object | null"}},"description":"One entry per window. With `window` set, only that key is present.","isRequired":true,"uniqueKey":"windows","typeLabel":"object"},"unrealized":{"oneOf":[{"type":"object","description":"Unrealized profit or loss of the wallet, from our data provider. `null` without a reading.","required":["origin","value","holdingsValue","positions","excludedPositions","asOf"],"properties":{"origin":{"type":"string","const":"provider","description":"Always `provider`: our data provider reads it.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.origin","typeLabel":"string"},"value":{"oneOf":[{"type":"object","description":"Profit or loss on the tokens still held, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.value.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.value.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.value.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"unrealized.oneOf.0.value.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"unrealized.oneOf.0.value.oneOf.0","typeLabel":"object"},{"type":"null","description":"Profit or loss on the tokens still held, in USD. `null` when not known.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unrealized.oneOf.0.value","typeLabel":"object | null"},"holdingsValue":{"oneOf":[{"type":"object","description":"What the held tokens are worth, in USD. `null` when not known.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.holdingsValue.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.holdingsValue.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.holdingsValue.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"unrealized.oneOf.0.holdingsValue.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"unrealized.oneOf.0.holdingsValue.oneOf.0","typeLabel":"object"},{"type":"null","description":"What the held tokens are worth, in USD. `null` when not known.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.holdingsValue.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unrealized.oneOf.0.holdingsValue","typeLabel":"object | null"},"positions":{"oneOf":[{"type":"integer","description":"Positions counted. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"unrealized.oneOf.0.positions.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Positions counted. `null` when not known.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.positions.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unrealized.oneOf.0.positions","typeLabel":"integer | null"},"excludedPositions":{"oneOf":[{"type":"integer","description":"Positions left out, such as tokens without a price. `null` when not known.","maximum":9007199254740991,"minimum":-9007199254740991,"isRequired":true,"uniqueKey":"unrealized.oneOf.0.excludedPositions.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Positions left out, such as tokens without a price. `null` when not known.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.excludedPositions.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unrealized.oneOf.0.excludedPositions","typeLabel":"integer | null"},"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"When our data provider read the wallets.","isRequired":true,"uniqueKey":"unrealized.oneOf.0.asOf","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"unrealized.oneOf.0","typeLabel":"object"},{"type":"null","description":"Unrealized profit or loss of the wallet, from our data provider. `null` without a reading.","isRequired":true,"uniqueKey":"unrealized.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unrealized","typeLabel":"object | null"},"asOf":{"oneOf":[{"type":"string","description":"The oldest `asOf` among the ready windows, else the ranking time of `all`, else `null`.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":true,"uniqueKey":"asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"The oldest `asOf` among the ready windows, else the ranking time of `all`, else `null`.","isRequired":true,"uniqueKey":"asOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"asOf","typeLabel":"string\u003cdate-time> | null"},"nextUpdateAt":{"oneOf":[{"type":"string","description":"When the first figure from our data provider falls due to be read again: its `asOf` plus its refresh interval. The first call after that time reads it again. Earlier than now when `stale` is `true`. `null` unless `status` is `ready`.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","isRequired":true,"uniqueKey":"nextUpdateAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the first figure from our data provider falls due to be read again: its `asOf` plus its refresh interval. The first call after that time reads it again. Earlier than now when `stale` is `true`. `null` unless `status` is `ready`.","isRequired":true,"uniqueKey":"nextUpdateAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"nextUpdateAt","typeLabel":"string\u003cdate-time> | null"},"stale":{"type":"boolean","description":"`true` when at least one figure from our data provider is past its refresh interval and this call could not read it again: the read failed, did not finish within the 8 second wait, or this month's provider budget is spent. A later call can carry newer figures. The computed `all` window does not count. `false` unless `status` is `ready`.","isRequired":true,"uniqueKey":"stale","typeLabel":"boolean"},"boards":{"type":"array","items":{"type":"object","properties":{"platform":{"type":"string","enum":["fomo","pump","hyperliquid","markets","polymarket","legend","risex"],"description":"The platform that publishes the board.","isRequired":true,"uniqueKey":"boards.items.[INDEX].platform","typeLabel":"enum\u003cstring>"},"board":{"type":"string","description":"The board, as `GET /v3/leaderboards` lists it.","isRequired":true,"uniqueKey":"boards.items.[INDEX].board","typeLabel":"string"},"window":{"oneOf":[{"description":"The window of the board this standing is on. `null` on a board without windows.","type":"string","isRequired":true,"uniqueKey":"boards.items.[INDEX].window.oneOf.0","typeLabel":"string"},{"description":"The window of the board this standing is on. `null` on a board without windows.","type":"null","isRequired":true,"uniqueKey":"boards.items.[INDEX].window.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"boards.items.[INDEX].window","typeLabel":"string | null"},"rank":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The rank the platform gives the account on that capture.","isRequired":true,"uniqueKey":"boards.items.[INDEX].rank","typeLabel":"integer"},"measures":{"type":"object","propertyNames":{"type":"string","enum":["pnl","net_flow","portfolio_value","price","liquidity","roi","volume","trade_count","win_rate","impressions","views","likes","followers","holders","market_cap","members","points","realized_pnl","unrealized_pnl"]},"additionalProperties":{"oneOf":[{"type":"object","description":"Money or a token quantity, never a JSON number. `{ \"value\": \"12345678\", \"decimals\": 6, \"currency\": \"USD\" }` is 12.345678 USD.","required":["value","decimals","currency"],"properties":{"value":{"type":"string","pattern":"^(0|-?[1-9]\\d*)$","description":"An integer in base units, as a string, and negative below zero. Read it with a decimal or big integer type; a float loses digits.","isRequired":true,"uniqueKey":"boards.items.[INDEX].measures.additionalProperties.oneOf.0.value","typeLabel":"string"},"decimals":{"type":"integer","minimum":0,"maximum":36,"description":"The power of ten between base units and one whole unit: `value` ÷ 10^`decimals`.","isRequired":true,"uniqueKey":"boards.items.[INDEX].measures.additionalProperties.oneOf.0.decimals","typeLabel":"integer"},"currency":{"type":"string","minLength":1,"description":"`USD`, or the token id (`tok_\u003cnetwork>_\u003caddress>`) of a token quantity.","isRequired":true,"uniqueKey":"boards.items.[INDEX].measures.additionalProperties.oneOf.0.currency","typeLabel":"string"},"priceAsOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"The time of the price we converted the value with. Absent when no price was used.","uniqueKey":"boards.items.[INDEX].measures.additionalProperties.oneOf.0.priceAsOf","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"boards.items.[INDEX].measures.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"number","uniqueKey":"boards.items.[INDEX].measures.additionalProperties.oneOf.1","typeLabel":"number"}],"uniqueKey":"boards.items.[INDEX].measures.additionalProperties","typeLabel":"object | number"},"description":"Figures of the entry keyed by metric. Money is an `Amount`; ratios and counts are numbers. A metric the source did not store is absent.","isRequired":true,"uniqueKey":"boards.items.[INDEX].measures","typeLabel":"object"},"capturedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","description":"When we captured the board.","isRequired":true,"uniqueKey":"boards.items.[INDEX].capturedAt","typeLabel":"string\u003cdate-time>"}},"required":["platform","board","window","rank","measures","capturedAt"],"uniqueKey":"boards.items.[INDEX]","typeLabel":"object"},"description":"Where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it, for reference. The platform computes these itself; they need not match the windows above. Empty when no board lists them.","isRequired":true,"uniqueKey":"boards","typeLabel":"object[]"}},"required":["wallet","wallets","status","retryAfterSeconds","windows","unrealized","asOf","nextUpdateAt","stale","boards"],"description":"The profit and loss of one wallet, per window. Names no owner.","uniqueKey":"","typeLabel":"object"},"example":{"wallet":"wal_svm_9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","wallets":["wal_svm_9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","wal_evm_0x52908400098527886e0f7030069857d2e4169ee7"],"status":"ready","retryAfterSeconds":null,"windows":{"24h":{"origin":"provider","status":"ready","realized":{"value":"1250500000","decimals":6,"currency":"USD"},"unrealized":{"value":"412150000","decimals":6,"currency":"USD"},"total":{"value":"1662650000","decimals":6,"currency":"USD"},"unpricedProceeds":null,"netFlow":null,"volume":{"value":"18050500000","decimals":6,"currency":"USD"},"buyVolume":{"value":"8400000000","decimals":6,"currency":"USD"},"sellVolume":{"value":"9650500000","decimals":6,"currency":"USD"},"returnPct":14.88690476,"tradeCount":21,"buys":12,"sells":9,"tokensTraded":6,"winningTokens":4,"rank":null,"asOf":"2026-11-01T08:55:00.000Z","approximate":false},"7d":{"origin":"provider","status":"ready","realized":{"value":"-312750000","decimals":6,"currency":"USD"},"unrealized":{"value":"1506900000","decimals":6,"currency":"USD"},"total":{"value":"1194150000","decimals":6,"currency":"USD"},"unpricedProceeds":null,"netFlow":null,"volume":{"value":"80160000000","decimals":6,"currency":"USD"},"buyVolume":{"value":"41200000000","decimals":6,"currency":"USD"},"sellVolume":{"value":"38960000000","decimals":6,"currency":"USD"},"returnPct":-0.79635371,"tradeCount":105,"buys":58,"sells":47,"tokensTraded":19,"winningTokens":8,"rank":null,"asOf":"2026-11-01T08:55:00.000Z","approximate":false},"30d":{"origin":"provider","status":"ready","realized":{"value":"9884200000","decimals":6,"currency":"USD"},"unrealized":{"value":"2101300000","decimals":6,"currency":"USD"},"total":{"value":"11985500000","decimals":6,"currency":"USD"},"unpricedProceeds":null,"netFlow":null,"volume":{"value":"312410000000","decimals":6,"currency":"USD"},"buyVolume":{"value":"152300000000","decimals":6,"currency":"USD"},"sellVolume":{"value":"160110000000","decimals":6,"currency":"USD"},"returnPct":6.57956223,"tradeCount":412,"buys":214,"sells":198,"tokensTraded":61,"winningTokens":27,"rank":null,"asOf":"2026-11-01T08:55:00.000Z","approximate":false},"all":{"origin":"computed","status":"ready","realized":{"value":"6120400000","decimals":6,"currency":"USD"},"unrealized":{"value":"-184250000","decimals":6,"currency":"USD"},"total":{"value":"5936150000","decimals":6,"currency":"USD"},"unpricedProceeds":{"value":"0","decimals":6,"currency":"USD"},"netFlow":{"value":"5310200000","decimals":6,"currency":"USD"},"volume":{"value":"96480500000","decimals":6,"currency":"USD"},"buyVolume":{"value":"45585150000","decimals":6,"currency":"USD"},"sellVolume":{"value":"50895350000","decimals":6,"currency":"USD"},"returnPct":11.64896902,"tradeCount":288,"buys":151,"sells":137,"tokensTraded":44,"winningTokens":19,"rank":null,"asOf":"2026-11-01T08:35:00.000Z","approximate":false}},"unrealized":{"origin":"provider","value":{"value":"2318400000","decimals":6,"currency":"USD"},"holdingsValue":{"value":"11904650000","decimals":6,"currency":"USD"},"positions":9,"excludedPositions":2,"asOf":"2026-11-01T08:55:00.000Z"},"asOf":"2026-11-01T08:55:00.000Z","nextUpdateAt":"2026-11-01T11:55:00.000Z","stale":false,"boards":[{"platform":"fomo","board":"traders","window":"7d","rank":14,"measures":{"pnl":{"value":"8421300000","decimals":6,"currency":"USD"}},"capturedAt":"2026-11-01T08:30:00.000Z"}]},"examples":{"Example":{"title":"Example","value":{"wallet":"wal_svm_9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","wallets":["wal_svm_9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM","wal_evm_0x52908400098527886e0f7030069857d2e4169ee7"],"status":"ready","retryAfterSeconds":null,"windows":{"24h":{"origin":"provider","status":"ready","realized":{"value":"1250500000","decimals":6,"currency":"USD"},"unrealized":{"value":"412150000","decimals":6,"currency":"USD"},"total":{"value":"1662650000","decimals":6,"currency":"USD"},"unpricedProceeds":null,"netFlow":null,"volume":{"value":"18050500000","decimals":6,"currency":"USD"},"buyVolume":{"value":"8400000000","decimals":6,"currency":"USD"},"sellVolume":{"value":"9650500000","decimals":6,"currency":"USD"},"returnPct":14.88690476,"tradeCount":21,"buys":12,"sells":9,"tokensTraded":6,"winningTokens":4,"rank":null,"asOf":"2026-11-01T08:55:00.000Z","approximate":false},"7d":{"origin":"provider","status":"ready","realized":{"value":"-312750000","decimals":6,"currency":"USD"},"unrealized":{"value":"1506900000","decimals":6,"currency":"USD"},"total":{"value":"1194150000","decimals":6,"currency":"USD"},"unpricedProceeds":null,"netFlow":null,"volume":{"value":"80160000000","decimals":6,"currency":"USD"},"buyVolume":{"value":"41200000000","decimals":6,"currency":"USD"},"sellVolume":{"value":"38960000000","decimals":6,"currency":"USD"},"returnPct":-0.79635371,"tradeCount":105,"buys":58,"sells":47,"tokensTraded":19,"winningTokens":8,"rank":null,"asOf":"2026-11-01T08:55:00.000Z","approximate":false},"30d":{"origin":"provider","status":"ready","realized":{"value":"9884200000","decimals":6,"currency":"USD"},"unrealized":{"value":"2101300000","decimals":6,"currency":"USD"},"total":{"value":"11985500000","decimals":6,"currency":"USD"},"unpricedProceeds":null,"netFlow":null,"volume":{"value":"312410000000","decimals":6,"currency":"USD"},"buyVolume":{"value":"152300000000","decimals":6,"currency":"USD"},"sellVolume":{"value":"160110000000","decimals":6,"currency":"USD"},"returnPct":6.57956223,"tradeCount":412,"buys":214,"sells":198,"tokensTraded":61,"winningTokens":27,"rank":null,"asOf":"2026-11-01T08:55:00.000Z","approximate":false},"all":{"origin":"computed","status":"ready","realized":{"value":"6120400000","decimals":6,"currency":"USD"},"unrealized":{"value":"-184250000","decimals":6,"currency":"USD"},"total":{"value":"5936150000","decimals":6,"currency":"USD"},"unpricedProceeds":{"value":"0","decimals":6,"currency":"USD"},"netFlow":{"value":"5310200000","decimals":6,"currency":"USD"},"volume":{"value":"96480500000","decimals":6,"currency":"USD"},"buyVolume":{"value":"45585150000","decimals":6,"currency":"USD"},"sellVolume":{"value":"50895350000","decimals":6,"currency":"USD"},"returnPct":11.64896902,"tradeCount":288,"buys":151,"sells":137,"tokensTraded":44,"winningTokens":19,"rank":null,"asOf":"2026-11-01T08:35:00.000Z","approximate":false}},"unrealized":{"origin":"provider","value":{"value":"2318400000","decimals":6,"currency":"USD"},"holdingsValue":{"value":"11904650000","decimals":6,"currency":"USD"},"positions":9,"excludedPositions":2,"asOf":"2026-11-01T08:55:00.000Z"},"asOf":"2026-11-01T08:55:00.000Z","nextUpdateAt":"2026-11-01T11:55:00.000Z","stale":false,"boards":[{"platform":"fomo","board":"traders","window":"7d","rank":14,"measures":{"pnl":{"value":"8421300000","decimals":6,"currency":"USD"}},"capturedAt":"2026-11-01T08:30:00.000Z"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"b8ccfa45-6da5-4abc-b9a8-2aa5bfa0afe4":{"description":"`INVALID_ARGUMENT`: a parameter, an id, a cursor or the body is malformed, or the operation does not take it.\n\n- `address` is not a valid address of `family`.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"688d7948-e625-4775-9e42-23d036260710":{"description":"`UNAUTHENTICATED`: no key, or the key is unknown, revoked or expired.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"ac801459-8dba-43e6-87d3-f3032d6e80c7":{"description":"`QUOTA_EXCEEDED`: the credit balance cannot pay for the call.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"662ec05b-8e09-40b1-aebe-f6ca6f56bf85":{"description":"`PERMISSION_DENIED`: the key may not make this call.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"b1dea5b5-5d44-4dca-b914-b1467b041981":{"description":"`NOT_FOUND`. We never saw this wallet.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"9303ad07-af0b-4049-ba0f-049c62f5e54b":{"description":"`RATE_LIMITED`: too many requests. Retry after the seconds in `Retry-After`.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"cd216fef-d117-40b1-b5c9-8a8fca875dc0":{"description":"`INTERNAL`: the call failed on our side.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"85de21e4-279c-40d6-98cb-c2cf54bbbdea":{"description":"`OVERLOADED`: the API holds too many requests at once. Retry after the seconds in `Retry-After`.","headers":{"X-Request-Id":{"description":"The id of this request, as in our logs.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication","quota","permission","rate_limit","internal","overloaded"],"description":"The group of the error. Each `code` belongs to one type.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","enum":["INVALID_ARGUMENT","UNAUTHENTICATED","QUOTA_EXCEEDED","REVEAL_LIMIT_REACHED","PERMISSION_DENIED","PLAN_REQUIRED","NOT_FOUND","RATE_LIMITED","INTERNAL","OVERLOADED"],"description":"What went wrong, from a closed list. Act on this field.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"A sentence for people. It can change; never parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"The id of the request, equal to `X-Request-Id`. Quote it when you write to us.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"required":["type","code","message","requestId"],"description":"The error.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"description":"The body of every error answer.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"INVALID_ARGUMENT","message":"\u003cstring>","requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1dae2ee9-4ade-434c-a812-454ff298e096":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}},"cc08a9cd-c1f8-4037-b1f0-a8a921734bd0":{"apiKeyHeader":{"type":"apiKey","in":"header","name":"X-Api-Key","scopes":[],"schemeName":"apiKeyHeader"}}},"servers":{"5fe32091-bca0-4091-894b-0b0476baa441":{"url":"https://api.fomoscan.sh","description":"The API host"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Key","scopes":[],"schemeName":"apiKeyHeader"},"schema":{"title":"X-Api-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyHeader","name":"X-Api-Key"}],"title":"apiKeyHeader"}]},"originalFileLocation":"https://api.fomoscan.sh/v3/openapi.json"},"subdomain":"socialscan","siteName":"FomoScan","title":"Read one wallet's PnL across the whole wallet - FomoScan","navMaps":{"firstHrefInVersion":{"v2":{"href":"/api-reference/identities/read-a-wallet-free-stored-profile","matchLevel":2},"v3":{"href":"/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T20:47:34.221Z","originalFileLocation":"v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet.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=\"dark\"}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=\"The profit and loss of one wallet in the windows of GET /v3/traders/{traderId}/pnl. 24h, 7d, 30d and unrealized come from our data provider for this wallet; all is ours, computed from the trades we index. - status, retryAfterSeconds, asOf, nextUpdateAt, stale and window follow the rules of GET /v3/traders/{traderId}/pnl. no_wallet cannot occur. - wallets names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal. - boards says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it. - Any wallet we hold answers, mapped to a trader or not. The document names no owner: GET /v3/wallets/{family}/{address} does. - all is null when we hold no figure of the wallet. Its realized and unrealized are ours, from the trades we index, and total is their sum. Its rank is null: no ranking lists wallets. ## Price The price depends on the answer. | Answer | Credits | Reveals | | --- | --- | --- | | status is ready. | 500 | 0 | | Any other status, or 404 for a wallet we never saw. | 200 | 0 | ## Limits - 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key. - A key with less than 200 credits left gets 402 QUOTA_EXCEEDED before any work. - A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FomoScan\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_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/socialscan/Akelxu7vD__0Z47A/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read one wallet\u0026#x27;s PnL across the whole wallet - FomoScan\">\u003cmeta data-mint-head property=\"og:description\" content=\"The profit and loss of one wallet in the windows of GET /v3/traders/{traderId}/pnl. 24h, 7d, 30d and unrealized come from our data provider for this wallet; all is ours, computed from the trades we index. - status, retryAfterSeconds, asOf, nextUpdateAt, stale and window follow the rules of GET /v3/traders/{traderId}/pnl. no_wallet cannot occur. - wallets names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal. - boards says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it. - Any wallet we hold answers, mapped to a trader or not. The document names no owner: GET /v3/wallets/{family}/{address} does. - all is null when we hold no figure of the wallet. Its realized and unrealized are ours, from the trades we index, and total is their sum. Its rank is null: no ranking lists wallets. ## Price The price depends on the answer. | Answer | Credits | Reveals | | --- | --- | --- | | status is ready. | 500 | 0 | | Any other status, or 404 for a wallet we never saw. | 200 | 0 | ## Limits - 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key. - A key with less than 200 credits left gets 402 QUOTA_EXCEEDED before any work. - A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FomoScan\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://socialscan.mintlify.app/_mintlify/api/og/v2?division=Wallets\u0026amp;title=Read+one+wallet%27s+PnL+across+the+whole+wallet\u0026amp;description=The+profit+and+loss+of+one+wallet+in+the+windows+of+%60GET+%2Fv3%2Ftraders%2F%7BtraderId%7D%2Fpnl%60.+%6024h%60%2C+%607d%60%2C+%6030d%60+and+%60unrealized%60+come+from+our+data+provider+for+this+w\u0026amp;theme=eee421e92d714c8c3b4eb52f\u0026amp;signature=0cc0820be5bfa71ac88c96003b7ebdc5f6773278e891922214432ccf9f8832e4\">\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=\"Read one wallet\u0026#x27;s PnL across the whole wallet - FomoScan\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The profit and loss of one wallet in the windows of GET /v3/traders/{traderId}/pnl. 24h, 7d, 30d and unrealized come from our data provider for this wallet; all is ours, computed from the trades we index. - status, retryAfterSeconds, asOf, nextUpdateAt, stale and window follow the rules of GET /v3/traders/{traderId}/pnl. no_wallet cannot occur. - wallets names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal. - boards says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it. - Any wallet we hold answers, mapped to a trader or not. The document names no owner: GET /v3/wallets/{family}/{address} does. - all is null when we hold no figure of the wallet. Its realized and unrealized are ours, from the trades we index, and total is their sum. Its rank is null: no ranking lists wallets. ## Price The price depends on the answer. | Answer | Credits | Reveals | | --- | --- | --- | | status is ready. | 500 | 0 | | Any other status, or 404 for a wallet we never saw. | 200 | 0 | ## Limits - 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key. - A key with less than 200 credits left gets 402 QUOTA_EXCEEDED before any work. - A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://socialscan.mintlify.app/_mintlify/api/og/v2?division=Wallets\u0026amp;title=Read+one+wallet%27s+PnL+across+the+whole+wallet\u0026amp;description=The+profit+and+loss+of+one+wallet+in+the+windows+of+%60GET+%2Fv3%2Ftraders%2F%7BtraderId%7D%2Fpnl%60.+%6024h%60%2C+%607d%60%2C+%6030d%60+and+%60unrealized%60+come+from+our+data+provider+for+this+w\u0026amp;theme=eee421e92d714c8c3b4eb52f\u0026amp;signature=0cc0820be5bfa71ac88c96003b7ebdc5f6773278e891922214432ccf9f8832e4\">\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/socialscan/Akelxu7vD__0Z47A/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FomoScan\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2D6BF5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fomoscan.sh/#organization\",\"name\":\"FomoScan\",\"url\":\"https://docs.fomoscan.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/socialscan/HNyN-bTZ1IatgGfu/images/mark.png?fit=max\u0026auto=format\u0026n=HNyN-bTZ1IatgGfu\u0026q=85\u0026s=d477c368ad11635c9133ca701da2f527\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fomoscan.sh#website\",\"name\":\"FomoScan\",\"url\":\"https://docs.fomoscan.sh\",\"publisher\":{\"@id\":\"https://docs.fomoscan.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet#webpage\",\"url\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet\",\"name\":\"Read one wallet's PnL across the whole wallet\",\"description\":\"The profit and loss of one wallet in the windows of GET /v3/traders/{traderId}/pnl. 24h, 7d, 30d and unrealized come from our data provider for this wallet; all is ours, computed from the trades we index. - status, retryAfterSeconds, asOf, nextUpdateAt, stale and window follow the rules of GET /v3/traders/{traderId}/pnl. no_wallet cannot occur. - wallets names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal. - boards says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it. - Any wallet we hold answers, mapped to a trader or not. The document names no owner: GET /v3/wallets/{family}/{address} does. - all is null when we hold no figure of the wallet. Its realized and unrealized are ours, from the trades we index, and total is their sum. Its rank is null: no ranking lists wallets. ## Price The price depends on the answer. | Answer | Credits | Reveals | | --- | --- | --- | | status is ready. | 500 | 0 | | Any other status, or 404 for a wallet we never saw. | 200 | 0 | ## Limits - 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key. - A key with less than 200 credits left gets 402 QUOTA_EXCEEDED before any work. - A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.\",\"dateModified\":\"2026-11-04T20:47:34.221Z\",\"isPartOf\":{\"@id\":\"https://docs.fomoscan.sh#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.fomoscan.sh/v3/api-reference/traders/read-one-trader\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wallets\",\"item\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallet-and-who-owns-it\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Read one wallet's PnL across the whole wallet\",\"item\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet#apireference\",\"headline\":\"Read one wallet's PnL across the whole wallet\",\"name\":\"Read one wallet's PnL across the whole wallet\",\"description\":\"The profit and loss of one wallet in the windows of GET /v3/traders/{traderId}/pnl. 24h, 7d, 30d and unrealized come from our data provider for this wallet; all is ours, computed from the trades we index. - status, retryAfterSeconds, asOf, nextUpdateAt, stale and window follow the rules of GET /v3/traders/{traderId}/pnl. no_wallet cannot occur. - wallets names the wallets the figures cover, Solana first. When a platform keys this wallet to accounts of one trader, the wallet of the other family that trader holds as an account key on that platform joins it, and every figure covers both. It is listed whatever the status and takes no reveal. - boards says where the accounts keyed by these wallets stand on the newest capture of each platform board that ranks accounts, as the platform shows it. - Any wallet we hold answers, mapped to a trader or not. The document names no owner: GET /v3/wallets/{family}/{address} does. - all is null when we hold no figure of the wallet. Its realized and unrealized are ours, from the trades we index, and total is their sum. Its rank is null: no ranking lists wallets. ## Price The price depends on the answer. | Answer | Credits | Reveals | | --- | --- | --- | | status is ready. | 500 | 0 | | Any other status, or 404 for a wallet we never saw. | 200 | 0 | ## Limits - 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key. - A key with less than 200 credits left gets 402 QUOTA_EXCEEDED before any work. - A read of our data provider runs up to 8 seconds inside the call. Past that the call answers with what we hold, and the read finishes for your next call.\",\"url\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fomoscan.sh/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet#webpage\"},\"dateModified\":\"2026-11-04T20:47:34.221Z\",\"publisher\":{\"@id\":\"https://docs.fomoscan.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fomoscan.sh#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FomoScan\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FomoScan","nav":{"global":{"anchors":[{"anchor":"Partner portal","icon":"key","href":"https://partner.fomoscan.sh"},{"anchor":"OpenAPI spec","icon":"code","href":"https://api.fomoscan.sh/openapi.json"}]},"versions":[{"version":"v2","default":true,"pages":[{"title":"v2","href":"/api-reference/identities/read-a-wallet-free-stored-profile"}]},{"version":"v3","tag":"New","tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/v3"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/v3/api-reference/introduction"},{"title":"Traders, wallets and PnL","href":"/v3/guides/traders"},{"title":"Posts","href":"/v3/guides/posts"},{"title":"Leaderboards and rankings","href":"/v3/guides/boards"}]},{"group":"Endpoints","pages":[{"group":"Traders","pages":[{"title":"Read one trader","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}","href":"/v3/api-reference/traders/read-one-trader"},{"title":"Find traders by handle","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/lookup","href":"/v3/api-reference/traders/find-traders-by-handle"},{"title":"List the wallets of a trader","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}/wallets","href":"/v3/api-reference/traders/list-the-wallets-of-a-trader"},{"title":"Read a trader's PnL across whole wallets","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}/pnl","href":"/v3/api-reference/traders/read-a-traders-pnl-across-whole-wallets"},{"title":"Read the PnL of up to 100 traders","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json post /v3/traders/pnl","href":"/v3/api-reference/traders/read-the-pnl-of-up-to-100-traders"},{"title":"List the traders who follow a trader","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}/followers","href":"/v3/api-reference/traders/list-the-traders-who-follow-a-trader"},{"title":"List the traders a trader follows","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}/following","href":"/v3/api-reference/traders/list-the-traders-a-trader-follows"}]},{"group":"Wallets","pages":[{"title":"Read one wallet and who owns it","description":"One wallet and the traders linked to it as owners. Each owner carries a `tier`, how sure we are, and the links behind it.\n\n- An EVM address matches in any letter case and comes back lowercase.\n- Owners: strongest tier first, then the earliest `firstVerifiedAt`, then trader id.\n- A tier is capped at `weak` when two or more traders hold the wallet, or the wallet carries a `custodial` or `exchange` label.\n- A wallet we know without an owner answers 200 with an empty `owners` list.\n- A link read from the wallet a platform profile shows never counts; every other active link does, at its tier.\n\n## Price\n\nThe price depends on the answer. The Reveals column says when a reveal is taken.\n\n| Answer | Credits | Reveals |\n| --- | --- | --- |\n| An owner holds a tier other than `account`. | 30,000 | 1 |\n| Every owner holds the tier `account`. | 10 | 0 |\n| The wallet has no owner (200 with the envelope), or we never saw it (404). | 200 | 0 |\n\nReveals count against a key with a monthly reveal cap. When the answer needs more reveals than the key has left, the call is refused before any credit is taken: 402 `REVEAL_LIMIT_REACHED`, or 403 `PERMISSION_DENIED` for a key on a free plan without reveals.\n\n## Limits\n\n- 2,000 requests per minute from one address on this operation, beside the per-minute limit of the key.\n- A key with less than 10 credits left gets 402 `QUOTA_EXCEEDED` before any work.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/wallets/{family}/{address}","href":"/v3/api-reference/wallets/read-one-wallet-and-who-owns-it"},{"title":"Read one wallet's PnL across the whole wallet","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/wallets/{family}/{address}/pnl","href":"/v3/api-reference/wallets/read-one-wallets-pnl-across-the-whole-wallet"},{"title":"Read the PnL of up to 100 wallets","description":"The PnL of up to 100 wallets in one call. `items` follows the order of `wallets`, one item per distinct wallet.\n\n- Each item holds the wallet's `wal_` id, `found`, and the document `GET /v3/wallets/{family}/{address}/pnl` returns, or `null` when we never saw the wallet.\n- Each item costs what `GET /v3/wallets/{family}/{address}/pnl` costs for its answer: the hit price when `ready`, the miss price otherwise and when not found. No reveal.\n- The whole batch is refused with 402 before any read unless the key holds the hit price for every item.\n- An unknown wallet is an item with `found: false`. This operation never answers 404.\n\n## Price\n\n**Per item**: 500 credits and one reveal for each item whose `status` is `ready`, 200 credits for every other item. Before any work the whole batch is refused when the balance holds less than 200 credits per item (402 `QUOTA_EXCEEDED`), or the key has fewer reveals left this month than items, whatever their status turns out to be.\n\n| Answer | Credits | Reveals |\n| --- | --- | --- |\n| Each item whose `status` is `ready`. | 500 | 0 |\n| Each item with another `status`, or a wallet we never saw. | 200 | 0 |\n| 100 wallets, 60 of them `ready`. | 38,000 | 0 |\n\n## Limits\n\n- 120 requests per minute from one address on this operation, beside the per-minute limit of the key.\n- A key with less than 200 credits left gets 402 `QUOTA_EXCEEDED` before any work.","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json post /v3/wallets/pnl","href":"/v3/api-reference/wallets/read-the-pnl-of-up-to-100-wallets"}]},{"group":"Posts","pages":[{"title":"Read the post feed","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/posts","href":"/v3/api-reference/posts/read-the-post-feed"},{"title":"Read the posts about a token","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/tokens/{network}/{address}/posts","href":"/v3/api-reference/posts/read-the-posts-about-a-token"},{"title":"Read the posts of a trader","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}/posts","href":"/v3/api-reference/posts/read-the-posts-of-a-trader"}]},{"group":"Tokens","pages":[{"title":"Read one token","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/tokens/{network}/{address}","href":"/v3/api-reference/tokens/read-one-token"}]},{"group":"Leaderboards","pages":[{"title":"List the leaderboards platforms publish","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/leaderboards","href":"/v3/api-reference/leaderboards/list-the-leaderboards-platforms-publish"},{"title":"Read one capture of a platform leaderboard","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/leaderboards/{platform}/{board}","href":"/v3/api-reference/leaderboards/read-one-capture-of-a-platform-leaderboard"}]},{"group":"Rankings","pages":[{"title":"List our rankings","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/rankings","href":"/v3/api-reference/rankings/list-our-rankings"},{"title":"Read the newest snapshot of one of our rankings","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/rankings/{key}","href":"/v3/api-reference/rankings/read-the-newest-snapshot-of-one-of-our-rankings"}]},{"group":"Account","pages":[{"title":"Read the calling key, its plan and its usage","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/me","href":"/v3/api-reference/account/read-the-calling-key-its-plan-and-its-usage"},{"title":"Read which platform provides which block","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/capabilities","href":"/v3/api-reference/account/read-which-platform-provides-which-block"}]},{"group":"Trades","pages":[{"title":"Read the newest trades of the traders we mapped","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/trades","href":"/v3/api-reference/trades/read-the-newest-trades-of-the-traders-we-mapped"},{"title":"Read the trades of a trader's wallets","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/traders/{traderId}/trades","href":"/v3/api-reference/trades/read-the-trades-of-a-traders-wallets"},{"title":"Read the trades of one wallet","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3/wallets/{family}/{address}/trades","href":"/v3/api-reference/trades/read-the-trades-of-one-wallet"}]},{"group":"WebSocket","pages":[{"title":"Live posts (WebSocket)","deprecated":null,"version":null,"openapi":"https://api.fomoscan.sh/v3/openapi.json get /v3","href":"/v3/api-reference/websocket/live-posts-websocket"}]}]}]},{"tab":"WebSocket","pages":[{"title":"WebSocket","href":"/v3/websocket/overview"}]}]}]},"basePath":"","title":"Read one wallet's PnL across the whole wallet - FomoScan","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-hfTk6MZX.js","utils-Bfp7HcY4.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D8dSW7yV.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CFgQXcZO.js","snippetPresets-dMW1-pV3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-DyrCOido.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Bwwdcyh3.js","shallow-drVXTg79.js","getApiPlaygroundDisplay-GMPxUzWV.js","CodeSnippet-wTmV0wP6.js","CodeSnippets-D_QxCJEq.js","Page-BsZAA8xk.js","getPastedJson-Dev-X0Xy.js","icon-7L2WL0jD.js","MethodPill-Ble59Dl_.js","DuplicateIcon-r-98uLGh.js","createIcon-DaFzipjW.js","DynamicMarkdown-Jk8YAWGN.js","SectionHeading-nLgrCDOg.js","axios-vUo_bRtp.js","Markdown-_QGow1Wo.js","clsx-v8ssfMzu.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CjboTi0T.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DkAyo-p5.js"]}