Return who the authenticated caller earns from and how much: one page of
the earnings-by-source breakdown across every reward level, their L1
direct-referee roster (including referees who have not traded yet), and a
per-level earnings summary that always covers every level and source,
whatever page is requested. earnings_by_source is paged (page_size,
page_token); a request without them gets the first page, not every row.
Self-scoped — identity comes only from the session, never a path id. Every
source and referee is identified by their public wallet address, never an
internal id.
GET
/
api
/
v1
/
tradercodes
/
referrals
/
me
/
downline
Get your referral downline and earnings
curl --request GET \ --url https://apimonaco.xyz/api/v1/tradercodes/referrals/me/downline \ --header 'X-Monaco-Signature: <api-key>'
Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.
One page of rows, one per (source account, level, token) the caller earns from, across every reward level, ordered by each source account's own total, largest first. A wallet that traded through several applications has one account per application: its rows within a page are merged into one row at the position of its first (largest) part, so a merged row can sit below a smaller one, and the wallet can appear again on a later page. Paged by pageSize / pageToken; follow nextPageToken for the rest. Comes from the caller's maintained reward totals — no tree walk.
The caller's direct (L1) referees, newest first, including referees who have not traded yet (0 earned). Bounded to the most recent 500 EFFECTIVE referees (after per-wallet dedupe and the winning-edge filter). The summary counts every level and source and earnings_by_source pages through every row, so a caller past the roster cap still sees their full earnings; only this roster listing is capped.
Cursor for the next earningsBySource page; empty when there are no more rows.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Monaco Protocol SDK v1.1.12","description":"High-performance spot and perpetuals trading infrastructure built on Sei. Complete documentation for builders integrating Monaco Protocol into their applications.","colors":{"primary":"#233329","light":"#3A5544","dark":"#1A2620"},"logo":{"light":"https://mintcdn.com/monaco/Puhxf4Whf6wQMalZ/logo.png?fit=max\u0026auto=format\u0026n=Puhxf4Whf6wQMalZ\u0026q=85\u0026s=6b0d46b12348c8cb28126629f97faae0","dark":"https://mintcdn.com/monaco/Puhxf4Whf6wQMalZ/logo-white.png?fit=max\u0026auto=format\u0026n=Puhxf4Whf6wQMalZ\u0026q=85\u0026s=2e00e628ed93f72b88edb25eb8d8725e"},"favicon":"https://mintcdn.com/monaco/Puhxf4Whf6wQMalZ/logoMark.png?fit=max\u0026auto=format\u0026n=Puhxf4Whf6wQMalZ\u0026q=85\u0026s=7cfd00a92f26b8cb3855b908c31629b8","api":{"playground":{"proxy":false},"examples":{"prefill":true}},"contextual":{"options":["copy","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://0xmonaco.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"monaco","hasAudioNarration":false,"actualSubdomain":"monaco","customDomains":["docs.0xmonaco.com"],"gitSource":{"type":"github","owner":"monaco-research","repo":"monaco-core","deployBranch":"develop","contentDirectory":"docs/src","isPrivate":true,"mountPath":"","label":""},"feedback":{"issues":false,"edits":false,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3aac12f77fb5d031e9169","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"APIs","count":188},{"language":"default","tag":"REST API","count":165},{"language":"default","tag":"Libraries","count":27},{"language":"default","tag":"gRPC API","count":21},{"language":"default","tag":"Protobuf Reference","count":21},{"language":"default","tag":"Market","count":20},{"language":"default","tag":"TypeScript SDK","count":19},{"language":"default","tag":"Margin Accounts","count":19},{"language":"default","tag":"Orders","count":19},{"language":"default","tag":"Accounts","count":16}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"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":"editor-metadata","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},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/tradercodeservice/get-your-referral-downline-and-earnings","slug":"/api-reference/tradercodeservice/get-your-referral-downline-and-earnings","pageMetadata":{"title":"Get your referral downline and earnings","description":"Read your own downline earnings (self-scoped).\n\n Return who the authenticated caller earns from and how much: one page of\n the earnings-by-source breakdown across every reward level, their L1\n direct-referee roster (including referees who have not traded yet), and a\n per-level earnings summary that always covers every level and source,\n whatever page is requested. `earnings_by_source` is paged (`page_size`,\n `page_token`); a request without them gets the first page, not every row.\n Self-scoped — identity comes only from the session, never a path id. Every\n source and referee is identified by their public wallet address, never an\n internal id.","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/referrals/me/downline","href":"/api-reference/tradercodeservice/get-your-referral-downline-and-earnings","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 p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Read your own downline earnings (self-scoped).\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Return who the authenticated caller earns from and how much: one page of\\nthe earnings-by-source breakdown across every reward level, their L1\\ndirect-referee roster (including referees who have not traded yet), and a\\nper-level earnings summary that always covers every level and source,\\nwhatever page is requested. \", _jsx(_components.code, {\n children: \"earnings_by_source\"\n }), \" is paged (\", _jsx(_components.code, {\n children: \"page_size\"\n }), \",\\n\", _jsx(_components.code, {\n children: \"page_token\"\n }), \"); a request without them gets the first page, not every row.\\nSelf-scoped — identity comes only from the session, never a path id. Every\\nsource and referee is identified by their public wallet address, never an\\ninternal id.\"]\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":"Get your referral downline and earnings","description":"Read your own downline earnings (self-scoped).\n\n Return who the authenticated caller earns from and how much: one page of\n the earnings-by-source breakdown across every reward level, their L1\n direct-referee roster (including referees who have not traded yet), and a\n per-level earnings summary that always covers every level and source,\n whatever page is requested. `earnings_by_source` is paged (`page_size`,\n `page_token`); a request without them gets the first page, not every row.\n Self-scoped — identity comes only from the session, never a path id. Every\n source and referee is identified by their public wallet address, never an\n internal id.","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/referrals/me/downline","href":"/api-reference/tradercodeservice/get-your-referral-downline-and-earnings","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["TraderCodeService","TraderCodes"],"summary":"Get your referral downline and earnings","description":"Read your own downline earnings (self-scoped).\n\n Return who the authenticated caller earns from and how much: one page of\n the earnings-by-source breakdown across every reward level, their L1\n direct-referee roster (including referees who have not traded yet), and a\n per-level earnings summary that always covers every level and source,\n whatever page is requested. `earnings_by_source` is paged (`page_size`,\n `page_token`); a request without them gets the first page, not every row.\n Self-scoped — identity comes only from the session, never a path id. Every\n source and referee is identified by their public wallet address, never an\n internal id.","operationId":"get_my_referral_downline","parameters":["78e739f2-a8ab-4b98-84c0-22c8be2916cb","16654774-3b3e-41f6-814f-3d88069df878"],"responses":{"200":"5b1d7008-6ae9-4723-b4ad-860cf38ec1c3","401":"26b74cae-62de-424e-9713-6bb5af3d8ff4","429":"b3184d7d-b748-4edd-b42d-df71afec923f","500":"155ad0c2-b3c0-465a-b49a-20136bb6368e"},"security":["f7411735-026a-4b5f-bb37-7fcc82a6dfaf","ec984af4-2099-4d1f-8e05-d6bb082b11c8"],"method":"get","type":"path","servers":["9ba7fe18-12e6-451a-99d9-968b23499be1"],"path":"/api/v1/tradercodes/referrals/me/downline","baseUrlOptions":["https://apimonaco.xyz"],"title":"Get your referral downline and earnings","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[],"disableProxy":true},"dependencies":{"parameters":{"78e739f2-a8ab-4b98-84c0-22c8be2916cb":{"name":"pageSize","in":"query","schema":{"type":"integer","format":"uint32","minimum":1,"maximum":500,"default":100,"description":"`earningsBySource` rows per page (max 500)","uniqueKey":"","typeLabel":"integer\u003cuint32>"},"description":"`earningsBySource` rows per page (max 500)"},"16654774-3b3e-41f6-814f-3d88069df878":{"name":"pageToken","in":"query","description":"Opaque cursor from a previous response's `nextPageToken`; omit or send an\n empty string for the first page.","schema":{"type":"string","description":"Opaque cursor from a previous response's `nextPageToken`; omit or send an\n empty string for the first page.","uniqueKey":"","typeLabel":"string"}}},"responses":{"5b1d7008-6ae9-4723-b4ad-860cf38ec1c3":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"earningsBySource":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"source":{"oneOf":[{"example":"0x0000000000000000000000000000000000000002","type":"string","description":"Public wallet address of the trader (taker) the caller earns from. Never an internal id.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].source.oneOf.0","typeLabel":"string"},{"example":"0x0000000000000000000000000000000000000002","type":"null","description":"Public wallet address of the trader (taker) the caller earns from. Never an internal id.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].source","typeLabel":"string | null"},"level":{"oneOf":[{"example":1,"type":"integer","description":"Referral level the caller earns from this source at: 1 (direct), 2, and so on (at most 10). Rows at a level deeper than TraderCodes rewards today are earlier earnings, kept as history.","format":"int32","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].level.oneOf.0","typeLabel":"integer\u003cint32>"},{"example":1,"type":"null","description":"Referral level the caller earns from this source at: 1 (direct), 2, and so on (at most 10). Rows at a level deeper than TraderCodes rewards today are earlier earnings, kept as history.","format":"int32","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].level.oneOf.1","typeLabel":"null"}],"uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].level","typeLabel":"integer\u003cint32> | null"},"totalEarned":{"oneOf":[{"example":"900000","type":"string","description":"Total earned from this source at this level and token, in RAW atomic units.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].totalEarned.oneOf.0","typeLabel":"string"},{"example":"900000","type":"null","description":"Total earned from this source at this level and token, in RAW atomic units.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].totalEarned.oneOf.1","typeLabel":"null"}],"uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].totalEarned","typeLabel":"string | null"},"token":{"oneOf":[{"example":"0x0000000000000000000000000000000000000002","type":"string","description":"Reward token contract address (0x-prefixed).","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].token.oneOf.0","typeLabel":"string"},{"example":"0x0000000000000000000000000000000000000002","type":"null","description":"Reward token contract address (0x-prefixed).","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].token.oneOf.1","typeLabel":"null"}],"uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].token","typeLabel":"string | null"},"sourceDisplay":{"oneOf":[{"example":"cooltrader123","type":"string","description":"Human-facing name for the source: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `source`). Render this instead of raw hex.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].sourceDisplay.oneOf.0","typeLabel":"string"},{"example":"cooltrader123","type":"null","description":"Human-facing name for the source: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `source`). Render this instead of raw hex.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].sourceDisplay.oneOf.1","typeLabel":"null"}],"uniqueKey":"earningsBySource.oneOf.0.items.[INDEX].sourceDisplay","typeLabel":"string | null"}},"description":"One aggregated earnings row per (source trader, level, token) the caller\n earns from.","uniqueKey":"earningsBySource.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"One page of rows, one per (source account, level, token) the caller earns from, across every reward level, ordered by each source account's own total, largest first. A wallet that traded through several applications has one account per application: its rows within a page are merged into one row at the position of its first (largest) part, so a merged row can sit below a smaller one, and the wallet can appear again on a later page. Paged by `pageSize` / `pageToken`; follow `nextPageToken` for the rest. Comes from the caller's maintained reward totals — no tree walk.","uniqueKey":"earningsBySource.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"source":{"oneOf":[{"example":"0x0000000000000000000000000000000000000002","type":"string","description":"Public wallet address of the trader (taker) the caller earns from. Never an internal id."},{"example":"0x0000000000000000000000000000000000000002","type":"null","description":"Public wallet address of the trader (taker) the caller earns from. Never an internal id."}]},"level":{"oneOf":[{"example":1,"type":"integer","description":"Referral level the caller earns from this source at: 1 (direct), 2, and so on (at most 10). Rows at a level deeper than TraderCodes rewards today are earlier earnings, kept as history.","format":"int32"},{"example":1,"type":"null","description":"Referral level the caller earns from this source at: 1 (direct), 2, and so on (at most 10). Rows at a level deeper than TraderCodes rewards today are earlier earnings, kept as history.","format":"int32"}]},"totalEarned":{"oneOf":[{"example":"900000","type":"string","description":"Total earned from this source at this level and token, in RAW atomic units."},{"example":"900000","type":"null","description":"Total earned from this source at this level and token, in RAW atomic units."}]},"token":{"oneOf":[{"example":"0x0000000000000000000000000000000000000002","type":"string","description":"Reward token contract address (0x-prefixed)."},{"example":"0x0000000000000000000000000000000000000002","type":"null","description":"Reward token contract address (0x-prefixed)."}]},"sourceDisplay":{"oneOf":[{"example":"cooltrader123","type":"string","description":"Human-facing name for the source: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `source`). Render this instead of raw hex."},{"example":"cooltrader123","type":"null","description":"Human-facing name for the source: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `source`). Render this instead of raw hex."}]}},"description":"One aggregated earnings row per (source trader, level, token) the caller\n earns from."},"description":"One page of rows, one per (source account, level, token) the caller earns from, across every reward level, ordered by each source account's own total, largest first. A wallet that traded through several applications has one account per application: its rows within a page are merged into one row at the position of its first (largest) part, so a merged row can sit below a smaller one, and the wallet can appear again on a later page. Paged by `pageSize` / `pageToken`; follow `nextPageToken` for the rest. Comes from the caller's maintained reward totals — no tree walk.","uniqueKey":"earningsBySource.oneOf.1","typeLabel":"null"}],"uniqueKey":"earningsBySource","typeLabel":"object[] | null"},"directReferees":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"wallet":{"oneOf":[{"example":"0x0000000000000000000000000000000000000002","type":"string","description":"Public wallet address of the direct referee. Never an internal id.","uniqueKey":"directReferees.oneOf.0.items.[INDEX].wallet.oneOf.0","typeLabel":"string"},{"example":"0x0000000000000000000000000000000000000002","type":"null","description":"Public wallet address of the direct referee. Never an internal id.","uniqueKey":"directReferees.oneOf.0.items.[INDEX].wallet.oneOf.1","typeLabel":"null"}],"uniqueKey":"directReferees.oneOf.0.items.[INDEX].wallet","typeLabel":"string | null"},"referredAt":{"oneOf":[{"example":"2026-07-07T18:00:00Z","type":"string","description":"RFC 3339 timestamp when the referral relationship was recorded (the referee's sign-up under the caller).","uniqueKey":"directReferees.oneOf.0.items.[INDEX].referredAt.oneOf.0","typeLabel":"string"},{"example":"2026-07-07T18:00:00Z","type":"null","description":"RFC 3339 timestamp when the referral relationship was recorded (the referee's sign-up under the caller).","uniqueKey":"directReferees.oneOf.0.items.[INDEX].referredAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"directReferees.oneOf.0.items.[INDEX].referredAt","typeLabel":"string | null"},"totalEarned":{"oneOf":[{"example":"900000","type":"string","description":"Total the caller has earned from this referee's own (L1) trades, in RAW atomic units. `0` for a referee who has not traded yet.","uniqueKey":"directReferees.oneOf.0.items.[INDEX].totalEarned.oneOf.0","typeLabel":"string"},{"example":"900000","type":"null","description":"Total the caller has earned from this referee's own (L1) trades, in RAW atomic units. `0` for a referee who has not traded yet.","uniqueKey":"directReferees.oneOf.0.items.[INDEX].totalEarned.oneOf.1","typeLabel":"null"}],"uniqueKey":"directReferees.oneOf.0.items.[INDEX].totalEarned","typeLabel":"string | null"},"display":{"oneOf":[{"example":"cooltrader123","type":"string","description":"Human-facing name for the referee: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `wallet`). Render this instead of raw hex.","uniqueKey":"directReferees.oneOf.0.items.[INDEX].display.oneOf.0","typeLabel":"string"},{"example":"cooltrader123","type":"null","description":"Human-facing name for the referee: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `wallet`). Render this instead of raw hex.","uniqueKey":"directReferees.oneOf.0.items.[INDEX].display.oneOf.1","typeLabel":"null"}],"uniqueKey":"directReferees.oneOf.0.items.[INDEX].display","typeLabel":"string | null"}},"description":"One direct (L1) referee of the caller, whether or not they have traded yet.","uniqueKey":"directReferees.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"The caller's direct (L1) referees, newest first, including referees who have not traded yet (0 earned). Bounded to the most recent 500 EFFECTIVE referees (after per-wallet dedupe and the winning-edge filter). The summary counts every level and source and `earnings_by_source` pages through every row, so a caller past the roster cap still sees their full earnings; only this roster listing is capped.","uniqueKey":"directReferees.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"wallet":{"oneOf":[{"example":"0x0000000000000000000000000000000000000002","type":"string","description":"Public wallet address of the direct referee. Never an internal id."},{"example":"0x0000000000000000000000000000000000000002","type":"null","description":"Public wallet address of the direct referee. Never an internal id."}]},"referredAt":{"oneOf":[{"example":"2026-07-07T18:00:00Z","type":"string","description":"RFC 3339 timestamp when the referral relationship was recorded (the referee's sign-up under the caller)."},{"example":"2026-07-07T18:00:00Z","type":"null","description":"RFC 3339 timestamp when the referral relationship was recorded (the referee's sign-up under the caller)."}]},"totalEarned":{"oneOf":[{"example":"900000","type":"string","description":"Total the caller has earned from this referee's own (L1) trades, in RAW atomic units. `0` for a referee who has not traded yet."},{"example":"900000","type":"null","description":"Total the caller has earned from this referee's own (L1) trades, in RAW atomic units. `0` for a referee who has not traded yet."}]},"display":{"oneOf":[{"example":"cooltrader123","type":"string","description":"Human-facing name for the referee: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `wallet`). Render this instead of raw hex."},{"example":"cooltrader123","type":"null","description":"Human-facing name for the referee: their custom TraderCode handle when they have claimed one, otherwise the wallet address (same as `wallet`). Render this instead of raw hex."}]}},"description":"One direct (L1) referee of the caller, whether or not they have traded yet."},"description":"The caller's direct (L1) referees, newest first, including referees who have not traded yet (0 earned). Bounded to the most recent 500 EFFECTIVE referees (after per-wallet dedupe and the winning-edge filter). The summary counts every level and source and `earnings_by_source` pages through every row, so a caller past the roster cap still sees their full earnings; only this roster listing is capped.","uniqueKey":"directReferees.oneOf.1","typeLabel":"null"}],"uniqueKey":"directReferees","typeLabel":"object[] | null"},"summary":{"oneOf":[{"type":"object","description":"Total earned broken down by level. Covers every level and source regardless of the `earnings_by_source` page.","properties":{"totalEarned":{"oneOf":[{"example":"1400000","type":"string","description":"All-time credited earnings across all levels, in the reward token's RAW atomic units (see the message note — this is not the spendable rewards balance).","uniqueKey":"summary.oneOf.0.totalEarned.oneOf.0","typeLabel":"string"},{"example":"1400000","type":"null","description":"All-time credited earnings across all levels, in the reward token's RAW atomic units (see the message note — this is not the spendable rewards balance).","uniqueKey":"summary.oneOf.0.totalEarned.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.totalEarned","typeLabel":"string | null"},"level1Earned":{"oneOf":[{"example":"900000","deprecated":true,"type":"string","description":"DEPRECATED: use `byLevel`. Total earned from direct (L1) referees, in RAW atomic units.","uniqueKey":"summary.oneOf.0.level1Earned.oneOf.0","typeLabel":"string"},{"example":"900000","deprecated":true,"type":"null","description":"DEPRECATED: use `byLevel`. Total earned from direct (L1) referees, in RAW atomic units.","uniqueKey":"summary.oneOf.0.level1Earned.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.level1Earned","typeLabel":"string | null"},"level2Earned":{"oneOf":[{"example":"400000","deprecated":true,"type":"string","description":"DEPRECATED: use `byLevel`. Total earned from L2 downline, in RAW atomic units.","uniqueKey":"summary.oneOf.0.level2Earned.oneOf.0","typeLabel":"string"},{"example":"400000","deprecated":true,"type":"null","description":"DEPRECATED: use `byLevel`. Total earned from L2 downline, in RAW atomic units.","uniqueKey":"summary.oneOf.0.level2Earned.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.level2Earned","typeLabel":"string | null"},"level3Earned":{"oneOf":[{"example":"100000","deprecated":true,"type":"string","description":"DEPRECATED: use `byLevel`. Total earned from L3 downline, in RAW atomic units.","uniqueKey":"summary.oneOf.0.level3Earned.oneOf.0","typeLabel":"string"},{"example":"100000","deprecated":true,"type":"null","description":"DEPRECATED: use `byLevel`. Total earned from L3 downline, in RAW atomic units.","uniqueKey":"summary.oneOf.0.level3Earned.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.level3Earned","typeLabel":"string | null"},"byLevel":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"level":{"oneOf":[{"example":1,"maximum":10,"minimum":1,"type":"integer","description":"Referral level: 1 for direct referees, 2 for their referees, and so on (at most 10).","format":"int32","uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX].level.oneOf.0","typeLabel":"integer\u003cint32>"},{"example":1,"maximum":10,"minimum":1,"type":"null","description":"Referral level: 1 for direct referees, 2 for their referees, and so on (at most 10).","format":"int32","uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX].level.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX].level","typeLabel":"integer\u003cint32> | null"},"earned":{"oneOf":[{"example":"900000","type":"string","description":"All-time credited earnings at this level, in the reward token's RAW atomic units.","uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX].earned.oneOf.0","typeLabel":"string"},{"example":"900000","type":"null","description":"All-time credited earnings at this level, in the reward token's RAW atomic units.","uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX].earned.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX].earned","typeLabel":"string | null"}},"description":"What the caller has earned at one referral level.","uniqueKey":"summary.oneOf.0.byLevel.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"All-time credited earnings per referral level, ascending by level, one entry per level the caller has earned at (levels with nothing earned are omitted). Covers every level, including levels deeper than TraderCodes rewards today.","uniqueKey":"summary.oneOf.0.byLevel.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"level":{"oneOf":[{"example":1,"maximum":10,"minimum":1,"type":"integer","description":"Referral level: 1 for direct referees, 2 for their referees, and so on (at most 10).","format":"int32"},{"example":1,"maximum":10,"minimum":1,"type":"null","description":"Referral level: 1 for direct referees, 2 for their referees, and so on (at most 10).","format":"int32"}]},"earned":{"oneOf":[{"example":"900000","type":"string","description":"All-time credited earnings at this level, in the reward token's RAW atomic units."},{"example":"900000","type":"null","description":"All-time credited earnings at this level, in the reward token's RAW atomic units."}]}},"description":"What the caller has earned at one referral level."},"description":"All-time credited earnings per referral level, ascending by level, one entry per level the caller has earned at (levels with nothing earned are omitted). Covers every level, including levels deeper than TraderCodes rewards today.","uniqueKey":"summary.oneOf.0.byLevel.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary.oneOf.0.byLevel","typeLabel":"object[] | null"}},"uniqueKey":"summary.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"summary.oneOf.1","typeLabel":"null"}],"uniqueKey":"summary","typeLabel":"object | null"},"nextPageToken":{"oneOf":[{"type":"string","description":"Cursor for the next `earningsBySource` page; empty when there are no more rows.","uniqueKey":"nextPageToken.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cursor for the next `earningsBySource` page; empty when there are no more rows.","uniqueKey":"nextPageToken.oneOf.1","typeLabel":"null"}],"uniqueKey":"nextPageToken","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"earningsBySource":[{"source":"0x0000000000000000000000000000000000000002","level":1,"totalEarned":"900000","token":"0x0000000000000000000000000000000000000002","sourceDisplay":"cooltrader123"}],"directReferees":[{"wallet":"0x0000000000000000000000000000000000000002","referredAt":"2026-07-07T18:00:00Z","totalEarned":"900000","display":"cooltrader123"}],"summary":{"totalEarned":"1400000","level1Earned":"900000","level2Earned":"400000","level3Earned":"100000","byLevel":[{"level":1,"earned":"900000"}]},"nextPageToken":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"26b74cae-62de-424e-9713-6bb5af3d8ff4":{"description":"Authentication required","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"b3184d7d-b748-4edd-b42d-df71afec923f":{"description":"Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"155ad0c2-b3c0-465a-b49a-20136bb6368e":{"description":"Internal server error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"f7411735-026a-4b5f-bb37-7fcc82a6dfaf":{"monacoSignature":{"type":"apiKey","description":"Ed25519 session-key request signing. Every authenticated request carries three headers: `X-Monaco-PublicKey` (64-char lowercase-hex session public key), `X-Monaco-Timestamp` (Unix milliseconds, within 30s of server time), and `X-Monaco-Signature` (hex ed25519 signature). The signature is over `METHOD\\npath?query\\ntimestamp_ms\\nSHA256_hex(body)`, where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from `POST /api/v1/auth/challenge` followed by `POST /api/v1/auth/verify`.","name":"X-Monaco-Signature","in":"header","scopes":[],"schemeName":"monacoSignature"}},"ec984af4-2099-4d1f-8e05-d6bb082b11c8":{"monacoHttpSignature":{"type":"apiKey","description":"RFC 9421 Ed25519 session-key request signatures. Send Signature-Input, Signature, and Content-Digest together; never combine them with X-Monaco-* credentials. The monaco signature covers @method, @path, @query, and content-digest in that order, with created (Unix seconds within 30s of server time), keyid (registered lowercase-hex session public key), and alg=ed25519 parameters. Content-Digest uses RFC 9530 sha-256 over the exact body bytes, including the empty body. Query coverage retains ordering and percent encoding. Timestamp freshness does not reject repeated identical requests; use endpoint idempotency where supported. Existing legacy signing remains supported during server-first migration; SDK RFC 9421 signing is opt-in. See https://docs.0xmonaco.com/reference/http-message-signatures for the complete profile and trust model.","name":"Signature","in":"header","scopes":[],"schemeName":"monacoHttpSignature"}}},"servers":{"9ba7fe18-12e6-451a-99d9-968b23499be1":{"url":"https://apimonaco.xyz","description":"Production (Sei mainnet)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","description":"Ed25519 session-key request signing. Every authenticated request carries three headers: `X-Monaco-PublicKey` (64-char lowercase-hex session public key), `X-Monaco-Timestamp` (Unix milliseconds, within 30s of server time), and `X-Monaco-Signature` (hex ed25519 signature). The signature is over `METHOD\\npath?query\\ntimestamp_ms\\nSHA256_hex(body)`, where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from `POST /api/v1/auth/challenge` followed by `POST /api/v1/auth/verify`.","name":"X-Monaco-Signature","in":"header","scopes":[],"schemeName":"monacoSignature"},"schema":{"title":"X-Monaco-Signature","type":"string","description":"Ed25519 session-key request signing. Every authenticated request carries three headers: `X-Monaco-PublicKey` (64-char lowercase-hex session public key), `X-Monaco-Timestamp` (Unix milliseconds, within 30s of server time), and `X-Monaco-Signature` (hex ed25519 signature). The signature is over `METHOD\\npath?query\\ntimestamp_ms\\nSHA256_hex(body)`, where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from `POST /api/v1/auth/challenge` followed by `POST /api/v1/auth/verify`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"monacoSignature","name":"X-Monaco-Signature"}],"title":"monacoSignature"},{"schemes":[{"scheme":{"type":"apiKey","description":"RFC 9421 Ed25519 session-key request signatures. Send Signature-Input, Signature, and Content-Digest together; never combine them with X-Monaco-* credentials. The monaco signature covers @method, @path, @query, and content-digest in that order, with created (Unix seconds within 30s of server time), keyid (registered lowercase-hex session public key), and alg=ed25519 parameters. Content-Digest uses RFC 9530 sha-256 over the exact body bytes, including the empty body. Query coverage retains ordering and percent encoding. Timestamp freshness does not reject repeated identical requests; use endpoint idempotency where supported. Existing legacy signing remains supported during server-first migration; SDK RFC 9421 signing is opt-in. See https://docs.0xmonaco.com/reference/http-message-signatures for the complete profile and trust model.","name":"Signature","in":"header","scopes":[],"schemeName":"monacoHttpSignature"},"schema":{"title":"Signature","type":"string","description":"RFC 9421 Ed25519 session-key request signatures. Send Signature-Input, Signature, and Content-Digest together; never combine them with X-Monaco-* credentials. The monaco signature covers @method, @path, @query, and content-digest in that order, with created (Unix seconds within 30s of server time), keyid (registered lowercase-hex session public key), and alg=ed25519 parameters. Content-Digest uses RFC 9530 sha-256 over the exact body bytes, including the empty body. Query coverage retains ordering and percent encoding. Timestamp freshness does not reject repeated identical requests; use endpoint idempotency where supported. Existing legacy signing remains supported during server-first migration; SDK RFC 9421 signing is opt-in. See https://docs.0xmonaco.com/reference/http-message-signatures for the complete profile and trust model.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"monacoHttpSignature","name":"Signature"}],"title":"monacoHttpSignature"}]},"originalFileLocation":"proto-openapi/api/openapi.yaml"},"subdomain":"monaco","siteName":"Monaco Protocol SDK v1.1.12","title":"Get your referral downline and earnings - Monaco Protocol SDK v1.1.12","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T01:50:19.382Z","originalFileLocation":"api-reference/tradercodeservice/get-your-referral-downline-and-earnings.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Read your own downline earnings (self-scoped). Return who the authenticated caller earns from and how much: one page of the earnings-by-source breakdown across every reward level, their L1 direct-referee roster (including referees who have not traded yet), and a per-level earnings summary that always covers every level and source, whatever page is requested. earnings_by_source is paged (page_size, page_token); a request without them gets the first page, not every row. Self-scoped — identity comes only from the session, never a path id. Every source and referee is identified by their public wallet address, never an internal id.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Monaco Protocol SDK v1.1.12\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_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/monaco/4wZNikyT1wBLArhB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get your referral downline and earnings - Monaco Protocol SDK v1.1.12\">\u003cmeta data-mint-head property=\"og:description\" content=\"Read your own downline earnings (self-scoped). Return who the authenticated caller earns from and how much: one page of the earnings-by-source breakdown across every reward level, their L1 direct-referee roster (including referees who have not traded yet), and a per-level earnings summary that always covers every level and source, whatever page is requested. earnings_by_source is paged (page_size, page_token); a request without them gets the first page, not every row. Self-scoped — identity comes only from the session, never a path id. Every source and referee is identified by their public wallet address, never an internal id.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Monaco Protocol SDK v1.1.12\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://monaco.mintlify.site/_mintlify/api/og/v2?division=TraderCodes\u0026amp;title=Get+your+referral+downline+and+earnings\u0026amp;description=Read+your+own+downline+earnings+%28self-scoped%29.%0A%0A+Return+who+the+authenticated+caller+earns+from+and+how+much%3A+one+page+of%0A+the+earnings-by-source+breakdown+acro\u0026amp;theme=86c8539ecb88515b97c26589\u0026amp;signature=2c1870178f9a16fa1dfaf141a3d9ae1ea184af6676e22fb71566d58eecea85b5\">\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=\"Get your referral downline and earnings - Monaco Protocol SDK v1.1.12\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Read your own downline earnings (self-scoped). Return who the authenticated caller earns from and how much: one page of the earnings-by-source breakdown across every reward level, their L1 direct-referee roster (including referees who have not traded yet), and a per-level earnings summary that always covers every level and source, whatever page is requested. earnings_by_source is paged (page_size, page_token); a request without them gets the first page, not every row. Self-scoped — identity comes only from the session, never a path id. Every source and referee is identified by their public wallet address, never an internal id.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://monaco.mintlify.site/_mintlify/api/og/v2?division=TraderCodes\u0026amp;title=Get+your+referral+downline+and+earnings\u0026amp;description=Read+your+own+downline+earnings+%28self-scoped%29.%0A%0A+Return+who+the+authenticated+caller+earns+from+and+how+much%3A+one+page+of%0A+the+earnings-by-source+breakdown+acro\u0026amp;theme=86c8539ecb88515b97c26589\u0026amp;signature=2c1870178f9a16fa1dfaf141a3d9ae1ea184af6676e22fb71566d58eecea85b5\">\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/monaco/4wZNikyT1wBLArhB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Monaco Protocol SDK v1.1.12\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#233329\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/tradercodeservice/get-your-referral-downline-and-earnings.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.0xmonaco.com/#organization\",\"name\":\"Monaco Protocol SDK v1.1.12\",\"url\":\"https://docs.0xmonaco.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/monaco/Puhxf4Whf6wQMalZ/logo.png?fit=max\u0026auto=format\u0026n=Puhxf4Whf6wQMalZ\u0026q=85\u0026s=6b0d46b12348c8cb28126629f97faae0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.0xmonaco.com#website\",\"name\":\"Monaco Protocol SDK v1.1.12\",\"url\":\"https://docs.0xmonaco.com\",\"publisher\":{\"@id\":\"https://docs.0xmonaco.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings#webpage\",\"url\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings\",\"name\":\"Get your referral downline and earnings\",\"description\":\"Read your own downline earnings (self-scoped). Return who the authenticated caller earns from and how much: one page of the earnings-by-source breakdown across every reward level, their L1 direct-referee roster (including referees who have not traded yet), and a per-level earnings summary that always covers every level and source, whatever page is requested. earnings_by_source is paged (page_size, page_token); a request without them gets the first page, not every row. Self-scoped — identity comes only from the session, never a path id. Every source and referee is identified by their public wallet address, never an internal id.\",\"dateModified\":\"2026-11-10T01:50:19.382Z\",\"isPartOf\":{\"@id\":\"https://docs.0xmonaco.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"APIs\",\"item\":\"https://docs.0xmonaco.com/api-reference/healthservice/health-check\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST API\",\"item\":\"https://docs.0xmonaco.com/api-reference\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"TraderCodes\",\"item\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-tradercode\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Get your referral downline and earnings\",\"item\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings#apireference\",\"headline\":\"Get your referral downline and earnings\",\"name\":\"Get your referral downline and earnings\",\"description\":\"Read your own downline earnings (self-scoped). Return who the authenticated caller earns from and how much: one page of the earnings-by-source breakdown across every reward level, their L1 direct-referee roster (including referees who have not traded yet), and a per-level earnings summary that always covers every level and source, whatever page is requested. earnings_by_source is paged (page_size, page_token); a request without them gets the first page, not every row. Self-scoped — identity comes only from the session, never a path id. Every source and referee is identified by their public wallet address, never an internal id.\",\"url\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings\",\"mainEntityOfPage\":{\"@id\":\"https://docs.0xmonaco.com/api-reference/tradercodeservice/get-your-referral-downline-and-earnings#webpage\"},\"dateModified\":\"2026-11-10T01:50:19.382Z\",\"publisher\":{\"@id\":\"https://docs.0xmonaco.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.0xmonaco.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Monaco Protocol SDK v1.1.12\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Monaco Protocol SDK v1.1.12\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/tradercodeservice/get-your-referral-downline-and-earnings.md","siteName":"Monaco Protocol SDK v1.1.12","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://0xmonaco.com"}]},"pages":[{"title":"Introduction","href":"/introduction"},{"title":"Markets","href":"/markets"},{"title":"AI \u0026 Agents","href":"/build-with-ai"},{"group":"Learn","pages":[{"title":"Accounts","href":"/accounts"},{"title":"Orders","href":"/trading-mechanics/spot"},{"title":"Margin","href":"/trading-mechanics/perps"},{"title":"Funding Rates","href":"/trading-mechanics/funding-rates"},{"title":"Liquidations \u0026 Auto-Deleveraging","href":"/trading-mechanics/liquidations"},{"title":"Fees","href":"/fees"},{"title":"Earn","href":"/earn"}]},{"group":"Build","pages":[{"title":"Quickstart","href":"/quickstart"},{"title":"Testnet","href":"/testnet"},{"title":"Wallets \u0026 Auth","href":"/developers/accounts/wallets"},{"title":"Balances, Deposits \u0026 Withdrawals","href":"/developers/vault"},{"title":"Perps Collateral","href":"/developers/perps-collateral"},{"title":"Market Data","href":"/developers/markets"},{"title":"Order Management","href":"/developers/trade"},{"title":"Rate Limits","href":"/developers/rate-limits"},{"title":"Positions","href":"/developers/positions"},{"title":"Market-Maker Runbook","href":"/developers/market-maker-runbook"},{"title":"RFQ (block trades)","href":"/developers/rfq"},{"title":"Delegated Agents","href":"/developers/delegated-agents"},{"title":"Invite Codes","href":"/developers/invite-codes"},{"title":"TraderCodes","href":"/developers/tradercodes"},{"title":"BuilderCodes","href":"/developers/buildercodes"}]},{"group":"Libraries","pages":[{"title":"MCP Server","href":"/sdk/mcp-server"},{"group":"TypeScript SDK","root":{"title":"TypeScript SDK","href":"/sdk/typescript/intro"},"expanded":false,"pages":[{"title":"Applications","href":"/sdk/typescript/applications"},{"title":"Authentication","href":"/sdk/typescript/auth"},{"title":"Error Handling","href":"/sdk/typescript/error-handling"},{"title":"Market Data","href":"/sdk/typescript/market"},{"title":"Market Pulse","href":"/sdk/typescript/pulse"},{"title":"Region Status","href":"/sdk/typescript/compliance"},{"title":"Analytics","href":"/sdk/typescript/analytics"},{"title":"Profile","href":"/sdk/typescript/profile"},{"title":"Portfolio Analytics","href":"/sdk/typescript/portfolio"},{"title":"Trading","href":"/sdk/typescript/trades"},{"title":"RFQ","href":"/sdk/typescript/rfq"},{"title":"Margin Accounts","href":"/sdk/typescript/margin-accounts"},{"title":"Positions","href":"/sdk/typescript/positions"},{"title":"Delegated Agents","href":"/sdk/typescript/delegated-agents"},{"title":"Vault","href":"/sdk/typescript/vault"},{"title":"TraderCodes","href":"/sdk/typescript/tradercodes"},{"title":"BuilderCodes","href":"/sdk/typescript/buildercodes"},{"title":"Managed Markets","href":"/sdk/typescript/managed-markets"},{"title":"WebSockets","href":"/sdk/typescript/websockets"}]},{"group":"React SDK","root":{"title":"React SDK","href":"/sdk/react/intro"},"expanded":false,"pages":[{"title":"Session \u0026 Profile Hooks","href":"/sdk/react/hooks/session"},{"title":"Market Data Hooks","href":"/sdk/react/hooks/market-data"},{"title":"Trading Hooks","href":"/sdk/react/hooks/trading"},{"title":"Balance \u0026 Vault Hooks","href":"/sdk/react/hooks/balances"},{"title":"TraderCodes Hooks","href":"/sdk/react/hooks/codes"}]},{"title":"Rust SDK","href":"/sdk/rust"},{"title":"Python, Go, C++ \u0026 More","href":"/sdk/python-quickstart"}]},{"group":"APIs","pages":[{"group":"REST API","root":{"title":"REST API","href":"/api-reference"},"expanded":false,"pages":[{"group":"Health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /health","href":"/api-reference/healthservice/health-check"}]},{"group":"Auth","pages":[{"title":"Create authentication challenge","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/auth/challenge","href":"/api-reference/authservice/create-authentication-challenge"},{"title":"Verify signature and authenticate","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/auth/verify","href":"/api-reference/authservice/verify-signature-and-authenticate"},{"title":"Mint one Mainnet invite code","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/invite-codes/requests","href":"/api-reference/authservice/mint-one-mainnet-invite-code"},{"title":"List my Mainnet invite codes","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/invite-codes","href":"/api-reference/authservice/list-my-mainnet-invite-codes"},{"title":"Refresh session expiry","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/auth/refresh","href":"/api-reference/authservice/refresh-session-expiry"},{"title":"Revoke current session","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/auth/revoke","href":"/api-reference/authservice/revoke-current-session"}]},{"group":"Accounts","pages":[{"title":"Get user profile","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me","href":"/api-reference/accountsservice/get-user-profile"},{"title":"Get user balances","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/balances","href":"/api-reference/accountsservice/get-user-balances"},{"title":"Get user balance by asset","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/balances/{assetId}","href":"/api-reference/accountsservice/get-user-balance-by-asset"},{"title":"Get user movements","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/movements","href":"/api-reference/accountsservice/get-user-movements"},{"title":"Get user trade history","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/trades","href":"/api-reference/accountsservice/get-user-trade-history"},{"title":"Get portfolio stats","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio","href":"/api-reference/accountsservice/get-portfolio-stats"},{"title":"Get portfolio chart time series","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio/chart","href":"/api-reference/accountsservice/get-portfolio-chart-time-series"},{"title":"Get portfolio summary","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio/summary","href":"/api-reference/accountsservice/get-portfolio-summary"},{"title":"Get portfolio performance","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio/performance","href":"/api-reference/accountsservice/get-portfolio-performance"},{"title":"Get portfolio realized PnL","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio/realized-pnl","href":"/api-reference/accountsservice/get-portfolio-realized-pnl"},{"title":"Get portfolio assets","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio/assets","href":"/api-reference/accountsservice/get-portfolio-assets"},{"title":"Get portfolio margin","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/me/portfolio/margin","href":"/api-reference/accountsservice/get-portfolio-margin"},{"title":"List funding payments","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/funding-payments","href":"/api-reference/accountsservice/list-funding-payments"},{"title":"List sub-accounts with balances","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/sub-accounts","href":"/api-reference/accountsservice/list-sub-accounts-with-balances"},{"title":"Get your self-trade-prevention default","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/self-trade-prevention","href":"/api-reference/accountsservice/get-your-self-trade-prevention-default"},{"title":"Set your self-trade-prevention default","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml put /api/v1/accounts/self-trade-prevention","href":"/api-reference/accountsservice/set-your-self-trade-prevention-default"}]},{"group":"Account Limits","pages":[{"title":"Create sub-account limit","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/accounts/sub-accounts/limits","href":"/api-reference/accountsservice/create-sub-account-limit"},{"title":"Get sub-account limits","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/accounts/sub-accounts/{subAccountId}/limits","href":"/api-reference/accountsservice/get-sub-account-limits"},{"title":"Update sub-account limit","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml put /api/v1/accounts/sub-accounts/{subAccountId}/limits/{assetId}","href":"/api-reference/accountsservice/update-sub-account-limit"},{"title":"Delete sub-account limit","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml delete /api/v1/accounts/sub-accounts/{subAccountId}/limits/{assetId}","href":"/api-reference/accountsservice/delete-sub-account-limit"}]},{"group":"Applications","pages":[{"title":"Get application configuration","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/config","href":"/api-reference/applicationsservice/get-application-configuration"},{"title":"Get application stats","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/stats","href":"/api-reference/applicationsservice/get-application-stats"},{"title":"List application users","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/users","href":"/api-reference/applicationsservice/list-application-users"},{"title":"List application balances","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/balances","href":"/api-reference/applicationsservice/list-application-balances"},{"title":"List application margin accounts","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/margin-accounts","href":"/api-reference/applicationsservice/list-application-margin-accounts"},{"title":"List application orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/orders","href":"/api-reference/applicationsservice/list-application-orders"},{"title":"List application movements","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/applications/movements","href":"/api-reference/applicationsservice/list-application-movements"}]},{"group":"Market","pages":[{"title":"Trading Pairs","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs","href":"/api-reference/marketservice/trading-pairs"},{"title":"Trading Pair By ID","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}","href":"/api-reference/marketservice/trading-pair-by-id"},{"title":"Market Metadata","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/metadata","href":"/api-reference/marketservice/market-metadata"},{"title":"Get apiv1marketpairs perpconfig","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/perp/config","href":"/api-reference/marketservice/get-apiv1marketpairs-perpconfig"},{"title":"Get apiv1marketpairs perpsummary","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/perp/summary","href":"/api-reference/marketservice/get-apiv1marketpairs-perpsummary"},{"title":"Get apiv1marketpairs mark price","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/mark-price","href":"/api-reference/marketservice/get-apiv1marketpairs-mark-price"},{"title":"Get apiv1marketpairs index price","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/index-price","href":"/api-reference/marketservice/get-apiv1marketpairs-index-price"},{"title":"Get apiv1marketpairs funding","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/funding","href":"/api-reference/marketservice/get-apiv1marketpairs-funding"},{"title":"Get apiv1marketpairs fundinghistory","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/funding/history","href":"/api-reference/marketservice/get-apiv1marketpairs-fundinghistory"},{"title":"Get apiv1marketfundinghistory","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/funding/history","href":"/api-reference/marketservice/get-apiv1marketfundinghistory"},{"title":"Open Interest","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/open-interest","href":"/api-reference/marketservice/open-interest"},{"title":"Trader Metrics","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/trader-metrics","href":"/api-reference/marketservice/trader-metrics"},{"title":"Trade Flow","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/trade-flow","href":"/api-reference/marketservice/trade-flow"},{"title":"Liquidation Events","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/liquidation-events","href":"/api-reference/marketservice/liquidation-events"},{"title":"All Liquidation Events","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/liquidation-events","href":"/api-reference/marketservice/all-liquidation-events"},{"title":"Insurance Funds","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/insurance-funds","href":"/api-reference/marketservice/insurance-funds"},{"title":"Liquidation Metrics","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/{tradingPairId}/liquidation-metrics","href":"/api-reference/marketservice/liquidation-metrics"},{"title":"Candlestick Data","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/pairs/charts/candlestick/{tradingPairId}/{interval}","href":"/api-reference/marketservice/candlestick-data"},{"title":"Market Stats","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/stats","href":"/api-reference/marketservice/market-stats"},{"title":"Market Screener","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/market/screener","href":"/api-reference/marketservice/market-screener"}]},{"group":"Orderbook","pages":[{"title":"Orderbook Snapshot","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orderbook/{tradingPairId}","href":"/api-reference/orderbookservice/orderbook-snapshot"}]},{"group":"Trades","pages":[{"title":"Trade Feed","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/trades","href":"/api-reference/tradesservice/trade-feed"},{"title":"Recent Trades","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/trades/{tradingPairId}","href":"/api-reference/tradesservice/recent-trades"},{"title":"Get Trade by ID","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/trades/by-id/{tradeId}","href":"/api-reference/tradesservice/get-trade-by-id"}]},{"group":"RFQ","pages":[{"title":"Get RFQ capabilities","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/rfq/capabilities","href":"/api-reference/rfqservice/get-rfq-capabilities"},{"title":"Request quotes","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/rfqs","href":"/api-reference/rfqservice/request-quotes"},{"title":"List your RFQs","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/rfqs","href":"/api-reference/rfqservice/list-your-rfqs"},{"title":"Get an RFQ","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/rfqs/{rfqId}","href":"/api-reference/rfqservice/get-an-rfq"},{"title":"Accept an RFQ","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/rfqs/{rfqId}/accept","href":"/api-reference/rfqservice/accept-an-rfq"},{"title":"Cancel an RFQ","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/rfqs/{rfqId}/cancel","href":"/api-reference/rfqservice/cancel-an-rfq"},{"title":"Quote an RFQ","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml put /api/v1/rfqs/{rfqId}/quote","href":"/api-reference/rfqservice/quote-an-rfq"},{"title":"Withdraw a quote","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml delete /api/v1/rfqs/{rfqId}/quote","href":"/api-reference/rfqservice/withdraw-a-quote"},{"title":"Answer last look","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/rfqs/{rfqId}/last-look","href":"/api-reference/rfqservice/answer-last-look"}]},{"group":"Fees","pages":[{"title":"Simulate fees for a potential order","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/fees/simulate","href":"/api-reference/feesservice/simulate-fees-for-a-potential-order"},{"title":"Get my fee tier and pair schedule","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/fees/tier","href":"/api-reference/feesservice/get-my-fee-tier-and-pair-schedule"},{"title":"Get a trading pair's fee tier schedule","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/fees/schedule","href":"/api-reference/feesservice/get-a-trading-pairs-fee-tier-schedule"}]},{"group":"Withdrawals","pages":[{"title":"Initiate withdrawal","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/withdrawals","href":"/api-reference/withdrawalsservice/initiate-withdrawal"},{"title":"List pending withdrawals","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/withdrawals","href":"/api-reference/withdrawalsservice/list-pending-withdrawals"},{"title":"Get withdrawal","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/withdrawals/{withdrawalIndex}","href":"/api-reference/withdrawalsservice/get-withdrawal"}]},{"group":"Analytics","pages":[{"title":"Protocol totals","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/protocol/totals","href":"/api-reference/analyticsservice/protocol-totals"},{"title":"Protocol series","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/protocol/series","href":"/api-reference/analyticsservice/protocol-series"},{"title":"Market volumes","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/markets/volume","href":"/api-reference/analyticsservice/market-volumes"},{"title":"Treasury net fees","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/treasury/net-fees","href":"/api-reference/analyticsservice/treasury-net-fees"},{"title":"Builders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/builders","href":"/api-reference/analyticsservice/builders"},{"title":"Builder","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/builders/{builder}","href":"/api-reference/analyticsservice/builder"},{"title":"Builder totals","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/builders/{builder}/totals","href":"/api-reference/analyticsservice/builder-totals"},{"title":"Builder series","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/builders/{builder}/series","href":"/api-reference/analyticsservice/builder-series"},{"title":"Builder leaderboard","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/builder-leaderboard","href":"/api-reference/analyticsservice/builder-leaderboard"},{"title":"Wallet leaderboard","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/wallet-leaderboard","href":"/api-reference/analyticsservice/wallet-leaderboard"},{"title":"Wallet summary","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/wallets/{wallet}","href":"/api-reference/analyticsservice/wallet-summary"},{"title":"Wallet liquidations","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/wallets/{wallet}/liquidations","href":"/api-reference/analyticsservice/wallet-liquidations"},{"title":"Token custody","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/tokens","href":"/api-reference/analyticsservice/token-custody"},{"title":"Token custody detail","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/tokens/{token}","href":"/api-reference/analyticsservice/token-custody-detail"},{"title":"Vault deposits","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/deposits","href":"/api-reference/analyticsservice/vault-deposits"},{"title":"Vault withdrawals","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/analytics/withdrawals","href":"/api-reference/analyticsservice/vault-withdrawals"}]},{"group":"Pulse","pages":[{"title":"Get the market pulse news feed","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/pulse","href":"/api-reference/pulseservice/get-the-market-pulse-news-feed"}]},{"group":"Compliance","pages":[{"title":"Get the caller's region status","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/compliance/region","href":"/api-reference/complianceservice/get-the-callers-region-status"}]},{"group":"Sweeper","pages":[{"title":"Register a deposit address for monitoring","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/sweeper/register","href":"/api-reference/sweeperservice/register-a-deposit-address-for-monitoring"},{"title":"List the chains and assets the sweeper watches","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/sweeper/chains","href":"/api-reference/sweeperservice/list-the-chains-and-assets-the-sweeper-watches"},{"title":"List the caller's sweeper deposits, newest first","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/sweeper/deposits","href":"/api-reference/sweeperservice/list-the-callers-sweeper-deposits-newest-first"},{"title":"Get the status of the caller's sweeper deposits in one transaction","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/sweeper/deposits/{txHash}","href":"/api-reference/sweeperservice/get-the-status-of-the-callers-sweeper-deposits-in-one-transaction"}]},{"group":"Managed Markets","pages":[{"title":"List caller managed market assignments","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/managed-markets/assignments","href":"/api-reference/managedmarketsservice/list-caller-managed-market-assignments"},{"title":"Claim or renew a fenced maker lease","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/managed-markets/{launchId}/lease","href":"/api-reference/managedmarketsservice/claim-or-renew-a-fenced-maker-lease"},{"title":"Refresh the server-bounded managed quote set","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/managed-markets/{launchId}/quotes","href":"/api-reference/managedmarketsservice/refresh-the-server-bounded-managed-quote-set"}]},{"group":"Orders","pages":[{"title":"Get user orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders","href":"/api-reference/ordersservice/get-user-orders"},{"title":"Create new order","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders","href":"/api-reference/ordersservice/create-new-order"},{"title":"Get order by ID","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/{orderId}","href":"/api-reference/ordersservice/get-order-by-id"},{"title":"Replace existing order","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml put /api/v1/orders/{orderId}","href":"/api-reference/ordersservice/replace-existing-order"},{"title":"Cancel existing order","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/cancel","href":"/api-reference/ordersservice/cancel-existing-order"},{"title":"Batch cancel specific orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/batch-cancel","href":"/api-reference/ordersservice/batch-cancel-specific-orders"},{"title":"Batch create orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/batch-create","href":"/api-reference/ordersservice/batch-create-orders"},{"title":"Batch replace orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/batch-replace","href":"/api-reference/ordersservice/batch-replace-orders"},{"title":"Cancel all orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/batch-cancel-all","href":"/api-reference/ordersservice/cancel-all-orders"},{"title":"Cancel all orders for a trading pair","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/batch-cancel-all/{tradingPairId}","href":"/api-reference/ordersservice/cancel-all-orders-for-a-trading-pair"},{"title":"Cancel all orders after a timeout","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/cancel-all-after","href":"/api-reference/ordersservice/cancel-all-orders-after-a-timeout"},{"title":"Get apiv1ordersconditional","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/conditional/{conditionalOrderId}","href":"/api-reference/ordersservice/get-apiv1ordersconditional"},{"title":"Get apiv1ordersconditional","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/conditional/{conditionalOrderId}","href":"/api-reference/ordersservice/get-apiv1ordersconditional"},{"title":"Delete apiv1ordersconditional","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml delete /api/v1/orders/conditional/{conditionalOrderId}","href":"/api-reference/ordersservice/delete-apiv1ordersconditional"},{"title":"Create TWAP order","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/twap","href":"/api-reference/ordersservice/create-twap-order"},{"title":"List TWAP orders","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/twap","href":"/api-reference/ordersservice/list-twap-orders"},{"title":"Get TWAP order by ID","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/twap/{twapOrderId}","href":"/api-reference/ordersservice/get-twap-order-by-id"},{"title":"Get TWAP order TCA report","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/twap/{twapOrderId}/tca","href":"/api-reference/ordersservice/get-twap-order-tca-report"},{"title":"List TWAP order slices","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/orders/twap/{twapOrderId}/slices","href":"/api-reference/ordersservice/list-twap-order-slices"},{"title":"Cancel TWAP order","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/orders/twap/{twapOrderId}/cancel","href":"/api-reference/ordersservice/cancel-twap-order"}]},{"group":"Margin Accounts","pages":[{"title":"Get apiv1marginaccounts","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/accounts/{marginAccountId}","href":"/api-reference/marginaccountsservice/get-apiv1marginaccounts"},{"title":"Get apiv1marginaccounts","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/accounts/{marginAccountId}","href":"/api-reference/marginaccountsservice/get-apiv1marginaccounts"},{"title":"Post apiv1marginaccounts collateraltransfer in","deprecated":true,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/accounts/{marginAccountId}/collateral/transfer-in","href":"/api-reference/marginaccountsservice/post-apiv1marginaccounts-collateraltransfer-in"},{"title":"Post apiv1marginaccounts collateraltransfer out","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/accounts/{marginAccountId}/collateral/transfer-out","href":"/api-reference/marginaccountsservice/post-apiv1marginaccounts-collateraltransfer-out"},{"title":"Get apiv1marginaccounts movements","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/accounts/{marginAccountId}/movements","href":"/api-reference/marginaccountsservice/get-apiv1marginaccounts-movements"},{"title":"Get apiv1marginaccounts pnl","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/accounts/{marginAccountId}/pnl","href":"/api-reference/marginaccountsservice/get-apiv1marginaccounts-pnl"},{"title":"Post apiv1marginaccounts simulate order risk","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/accounts/{marginAccountId}/simulate-order-risk","href":"/api-reference/marginaccountsservice/post-apiv1marginaccounts-simulate-order-risk"},{"title":"Get apiv1margincollateralavailable","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/collateral/available","href":"/api-reference/marginaccountsservice/get-apiv1margincollateralavailable"},{"title":"Post apiv1margincollateraltransfer","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/collateral/transfer","href":"/api-reference/marginaccountsservice/post-apiv1margincollateraltransfer"},{"title":"Get apiv1marginparent margin account","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/parent-margin-account","href":"/api-reference/marginaccountsservice/get-apiv1marginparent-margin-account"},{"title":"Post apiv1marginparent margin accountcollateraltransfer in","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/parent-margin-account/collateral/transfer-in","href":"/api-reference/marginaccountsservice/post-apiv1marginparent-margin-accountcollateraltransfer-in"},{"title":"Post apiv1marginparent margin accountcollateraltransfer out","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/parent-margin-account/collateral/transfer-out","href":"/api-reference/marginaccountsservice/post-apiv1marginparent-margin-accountcollateraltransfer-out"},{"title":"Get apiv1marginparent margin accountmovements","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/margin/parent-margin-account/movements","href":"/api-reference/marginaccountsservice/get-apiv1marginparent-margin-accountmovements"},{"title":"Post apiv1marginparent margin accountsimulate order risk","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/parent-margin-account/simulate-order-risk","href":"/api-reference/marginaccountsservice/post-apiv1marginparent-margin-accountsimulate-order-risk"},{"title":"Post apiv1marginrisk bucketscollateraltransfer in","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/risk-buckets/collateral/transfer-in","href":"/api-reference/marginaccountsservice/post-apiv1marginrisk-bucketscollateraltransfer-in"},{"title":"Post apiv1marginrisk bucketssimulate order risk","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/risk-buckets/simulate-order-risk","href":"/api-reference/marginaccountsservice/post-apiv1marginrisk-bucketssimulate-order-risk"},{"title":"Post apiv1marginsub accounts","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/sub-accounts","href":"/api-reference/marginaccountsservice/post-apiv1marginsub-accounts"},{"title":"Post apiv1marginsub accounts close","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/sub-accounts/{marginAccountId}/close","href":"/api-reference/marginaccountsservice/post-apiv1marginsub-accounts-close"},{"title":"Post apiv1marginsub accounts collateraltransfer in","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/sub-accounts/{marginAccountId}/collateral/transfer-in","href":"/api-reference/marginaccountsservice/post-apiv1marginsub-accounts-collateraltransfer-in"},{"title":"Post apiv1marginsub accounts collateraltransfer out","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/margin/sub-accounts/{marginAccountId}/collateral/transfer-out","href":"/api-reference/marginaccountsservice/post-apiv1marginsub-accounts-collateraltransfer-out"}]},{"group":"Positions","pages":[{"title":"Get apiv1positions","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/positions/{positionId}","href":"/api-reference/positionsservice/get-apiv1positions"},{"title":"Get apiv1positionshistory","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/positions/history","href":"/api-reference/positionsservice/get-apiv1positionshistory"},{"title":"Post apiv1positionsbatch close all","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/positions/batch-close-all","href":"/api-reference/positionsservice/post-apiv1positionsbatch-close-all"},{"title":"Get apiv1positions","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/positions/{positionId}","href":"/api-reference/positionsservice/get-apiv1positions"},{"title":"Post apiv1positions close","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/positions/{positionId}/close","href":"/api-reference/positionsservice/post-apiv1positions-close"},{"title":"Get position PnL history","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/positions/{positionId}/pnl/history","href":"/api-reference/positionsservice/get-position-pnl-history"},{"title":"Get apiv1positions risk","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/positions/{positionId}/risk","href":"/api-reference/positionsservice/get-apiv1positions-risk"},{"title":"Post apiv1positions tp sl","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/positions/{positionId}/tp-sl","href":"/api-reference/positionsservice/post-apiv1positions-tp-sl"}]},{"group":"Delegated Agents","pages":[{"title":"Upsert delegated agent","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/delegated-agents","href":"/api-reference/delegatedagentsservice/upsert-delegated-agent"},{"title":"List delegated agents","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/delegated-agents","href":"/api-reference/delegatedagentsservice/list-delegated-agents"},{"title":"List delegating owners","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/delegated-agents/owners","href":"/api-reference/delegatedagentsservice/list-delegating-owners"},{"title":"Revoke delegated agent","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml delete /api/v1/delegated-agents/{delegatedAgentId}","href":"/api-reference/delegatedagentsservice/revoke-delegated-agent"},{"title":"Create delegated session","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/delegated-agents/sessions","href":"/api-reference/delegatedagentsservice/create-delegated-session"}]},{"group":"TraderCodes","pages":[{"title":"Get your TraderCode","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/codes/me","href":"/api-reference/tradercodeservice/get-your-tradercode"},{"title":"Check custom TraderCode availability","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/codes/available","href":"/api-reference/tradercodeservice/check-custom-tradercode-availability"},{"title":"Look up a TraderCode","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/codes/{code}","href":"/api-reference/tradercodeservice/look-up-a-tradercode"},{"title":"Claim or edit your custom TraderCode","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml put /api/v1/tradercodes/codes/me/custom","href":"/api-reference/tradercodeservice/claim-or-edit-your-custom-tradercode"},{"title":"Clear your custom TraderCode","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml delete /api/v1/tradercodes/codes/me/custom","href":"/api-reference/tradercodeservice/clear-your-custom-tradercode"},{"title":"Get your referral position","description":"Read your own referral position (self-scoped).\n\n Return the authenticated caller's referral position: their referral chain\n upward (L1, L2 and onward — who referred them, who referred that wallet, and\n so on, as many levels as their trades on this client application pay), the\n total rewards they have earned, and their most recent reward rows.\n Self-scoped — identity comes only from the session, never a path id,\n so a caller can only ever read their own chain. Every other user is\n identified by their public wallet address, never an internal id. An empty\n `referrer` means the caller was not referred.","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/referrals/me","href":"/api-reference/tradercodeservice/get-your-referral-position"},{"title":"Get your referral downline and earnings","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/referrals/me/downline","href":"/api-reference/tradercodeservice/get-your-referral-downline-and-earnings"},{"title":"Get one level of your referral tree","description":"Read one level of your own referral tree (self-scoped).\n\n Return the wallets directly referred by `parent` — the authenticated caller\n when `parent` is omitted, otherwise one of the caller's own referees above\n the deepest rewarded level — one page at a time, newest first. Each node carries its level\n relative to the caller, its parent, how many wallets it has referred (so the\n client knows whether it can be expanded), and what the caller has earned\n from that wallet's own trades. Expanding a node is another call with\n `parent` set to that node's wallet; the tree always lists the caller's\n direct referees (L1) and goes as deep as any client application rewards,\n at most 10 levels.\n\n Self-scoped — identity comes only from the session. A `parent` that is not\n the caller or a referee the caller can expand returns 404, the same\n as a wallet that does not exist, so the endpoint cannot be used to read\n anyone else's tree. Every node is identified by its public wallet address,\n never an internal id.","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/referrals/me/tree","href":"/api-reference/tradercodeservice/get-one-level-of-your-referral-tree"},{"title":"Get your rewards balance","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/tradercodes/rewards/balance","href":"/api-reference/tradercodeservice/get-your-rewards-balance"},{"title":"Transfer rewards into a trading balance","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/tradercodes/rewards/transfer","href":"/api-reference/tradercodeservice/transfer-rewards-into-a-trading-balance"}]},{"group":"BuilderCodes","pages":[{"title":"Get your BuilderCodes program configuration","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/buildercodes/config","href":"/api-reference/buildercoderewardsservice/get-your-buildercodes-program-configuration"},{"title":"Set your builder fees","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml put /api/v1/buildercodes/builder-fee","href":"/api-reference/buildercoderewardsservice/set-your-builder-fees"},{"title":"List your builder-fee changes","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/buildercodes/builder-fee/changes","href":"/api-reference/buildercoderewardsservice/list-your-builder-fee-changes"},{"title":"List your per-trade BuilderCodes earnings","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/buildercodes/payouts","href":"/api-reference/buildercoderewardsservice/list-your-per-trade-buildercodes-earnings"},{"title":"Summarize your BuilderCodes earnings","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/buildercodes/payouts/summary","href":"/api-reference/buildercoderewardsservice/summarize-your-buildercodes-earnings"},{"title":"Get your accrued BuilderCodes balance","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml get /api/v1/buildercodes/rewards/balance","href":"/api-reference/buildercoderewardsservice/get-your-accrued-buildercodes-balance"},{"title":"Claim accrued BuilderCodes payout balance","deprecated":null,"version":null,"openapi":"/proto-openapi/api/openapi.yaml post /api/v1/buildercodes/rewards/claim","href":"/api-reference/buildercoderewardsservice/claim-accrued-buildercodes-payout-balance"}]}]},{"title":"WebSocket API","href":"/reference/websockets"},{"title":"HTTP message signatures","href":"/reference/http-message-signatures"},{"group":"gRPC API","root":{"title":"gRPC API","href":"/reference/grpc"},"expanded":false,"pages":[{"group":"Protobuf Reference","root":{"title":"Protobuf Reference","href":"/grpc/protos"},"expanded":false,"pages":[{"group":"Core","pages":[{"title":"AuthService","href":"/grpc/protos/auth"},{"title":"AccountsService","href":"/grpc/protos/accounts"},{"title":"ApplicationsService","href":"/grpc/protos/applications"},{"title":"HealthService","href":"/grpc/protos/health"},{"title":"ComplianceService","href":"/grpc/protos/compliance"}]},{"group":"Trading","pages":[{"title":"MarketService","href":"/grpc/protos/market"},{"title":"AnalyticsService","href":"/grpc/protos/analytics"},{"title":"PulseService","href":"/grpc/protos/pulse"},{"title":"OrdersService","href":"/grpc/protos/orders"},{"title":"OrderbookService","href":"/grpc/protos/orderbook"},{"title":"TradesService","href":"/grpc/protos/trades"},{"title":"FeesService","href":"/grpc/protos/fees"},{"title":"RfqService","href":"/grpc/protos/rfq"}]},{"group":"Perps","pages":[{"title":"MarginAccountsService","href":"/grpc/protos/margin-accounts"},{"title":"PositionsService","href":"/grpc/protos/positions"}]},{"group":"Vault and Delegation","pages":[{"title":"WithdrawalsService","href":"/grpc/protos/withdrawals"},{"title":"SweeperService","href":"/grpc/protos/sweeper"},{"title":"DelegatedAgentsService","href":"/grpc/protos/delegated-agents"}]},{"group":"TraderCodes","pages":[{"title":"TraderCodeService","href":"/grpc/protos/tradercodes"}]},{"group":"BuilderCodes","pages":[{"title":"BuildercodeRewardsService","href":"/grpc/protos/buildercodes"}]},{"group":"Managed Markets","pages":[{"title":"ManagedMarketsService","href":"/grpc/protos/managed-markets"}]}]}]}]},{"group":"Resources","pages":[{"title":null,"href":"/changelog"},{"group":"Examples","expanded":false,"pages":[{"title":"Build a Trading App","href":"/examples/build-trading-app"},{"title":"End-to-End Examples","href":"/examples/end-to-end"}]}]}]},"basePath":"","title":"Get your referral downline and earnings - Monaco Protocol SDK v1.1.12","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}