The response body shown here is a static example, not live data. After you click Send, your live result appears in a separate panel headed 200 OK. The panel under the status-code tabs is a fixed sample from the spec — its field values (fees, prices, sizes, IDs, timestamps) are placeholders. Use Send, or call the endpoint, for current values.
Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.
Query Parameters
address
string
required
Master Ethereum address for this API key (must match address from POST /createApiKey for the same key). Required on REST for account-scoped reads and for place/cancel. Invalid hex → 400; mismatch with key → 403.
20-byte EVM address as hex: optional 0x or 0X prefix and exactly 40 hexadecimal digits. API responses normalize to lowercase a–f after 0x.
Pattern: ^(0x|0X)?[0-9a-fA-F]{40}$
accountIndex
integer
default:0
Subaccount index (0–9) to scope the request to. Defaults to 0 (the primary account). Values above 9 → 400.
Required range: 0 <= x <= 9
Response
Account details.
Account state including balances, collateral, and open positions. Returned by GET /account. Orders are served via the dedicated orders channel/endpoint.
accountIndex
integer
required
Account index (account index, 0–9). Identifies the account for orders, positions, fills, and API keys.
Required range: 0 <= x <= 9
address
string
required
Ethereum address associated with the account.
Pattern: ^(0x|0X)?[0-9a-fA-F]{40}$
netQuoteBalance
string
required
Account's aggregate cash balance as of the last event, in full quote currency (decimal string). Equals Account.QuoteBalance + Σ Position.QuoteBalance (cross-margin scope). Changes only on external cash flows: deposits, withdrawals, fill cash flows (-sizeDelta × fillPrice), trading fees, and funding settlements. Internal margin reallocations leave it unchanged. Combine with live oracle prices to derive equity: equity = netQuoteBalance + Σ (size × oracle).
Examples:
"100000"
"-25.5"
equity
string
required
Total account equity in full quote currency (decimal string). Computed as netQuoteBalance + Σ (size × mark) over all open positions. May differ from the engine's netQuoteBalance snapshot between fills as mark prices move.
freeCollateral
string
required
Collateral available for trading in full quote currency (decimal string). Computed as equity − Σ initial_margin_required across open positions.
Spot collateral value is excluded — it is not order margin (borrow capacity against it is LTV-bounded). When the lending section is present equity includes spot collateral value but freeCollateral does not, so an account backed by spot collateral can show 0 or a negative freeCollateral while marginState is healthy. Use marginState and borrowHeadroom for loan-aware headroom.
netDeposits
string
required
Lifetime net USDG deposits in full quote currency (decimal string): cumulative inflows minus cumulative outflows across every applied account transfer — deposits, withdrawals, internal transfers, self transfers between your own account indices, and referral claims. Rejected transfers, spot-asset flows (see netDepositsByAsset), and engine-originated lending cash legs (interest settlements, draws) are excluded.
This is the capital you have put in, not what it is worth now. Unlike equity and freeCollateral it does not move with oracle prices; only a transfer changes it. Subtract it from equity for all-time PnL — the same basis GET /portfolio uses, so the two agree.
Examples:
"100000"
"-25.5"
pendingDeposits
string
required
Pending deposit amount.
pendingWithdrawals
string
required
Pending withdrawal amount.
positions
object
required
Open positions keyed by marketId (integer; 1=BTC-USD, 2=ETH-USD, etc). JSON keys are stringified integers.
Show child attributes
sequenceNumber
integer<uint64>
required
Last processed engine sequence number for this account. Clients can use this to filter duplicate diffs and reconcile against streaming AccountUpdate events on the accounts channel.
netDepositsByAsset
object[]
Lifetime net deposits broken out per collateral asset, sorted by spotAssetId. The spotAssetId 0 (USDG) entry always equals netDeposits. Spot entries are quantities in the asset's own units — value them with a price series of your choosing (pricing a past flow is a cost-basis question). Omitted for accounts with no transfer history.
Show child attributes
loanBalance
string
Outstanding loan principal in full quote currency (decimal string). Present only for accounts with a lending footprint — a loan history, an active wind-down, or spot collateral holdings; all other accounts keep the exact pre-lending response shape (this and the other lending fields are omitted). When the lending section is present, equity includes spot collateral value and deducts unsettledInterest, and freeCollateral deducts unsettledInterest.
Examples:
"100"
"0"
unsettledInterest
string
Borrow interest accrued since the account's last settlement and not yet debited from cash, in full quote currency (decimal string): loanBalance × (global borrow index − account's settlement cursor). Grows as the global index advances and snaps back toward 0 when the engine settles it (the debit then appears in netQuoteBalance) — a delta since last settle, NOT a lifetime interest total. Part of the lending section — omitted for accounts without one.
Example:
"0.25"
marginState
enum<string>
Loan-aware margin verdict. healthy: new risk (orders, borrows, withdrawals) is admitted. unhealthy: the initial-margin check fails — no new risk, but no liquidation either (that triggers on the maintenance side). inWindDown: the account is a frozen estate being liquidated after a borrower-liquidation trigger. Part of the lending section — omitted for accounts without one.
Available options:
healthy,
unhealthy,
inWindDown
borrowHeadroom
string
How much additional loan need the account's current collateral could absorb, in full quote currency (decimal string): max(0, initial loan capacity − current loan need). 0 when the account is at or beyond its initial LTV bound. Part of the lending section — omitted for accounts without one.
Examples:
"150"
"0"
spotPositions
object
Spot collateral holdings keyed by spotAssetId (stringified integer; separate namespace from perp market ids). Only open holdings (size > 0) appear. Part of the lending section — omitted for accounts without one.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Arcus Docs","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/arcus-11aecf6e/Pw2ZUiZemhLSrOMO/logo/light.svg?fit=max\u0026auto=format\u0026n=Pw2ZUiZemhLSrOMO\u0026q=85\u0026s=9bbd1de2de2a31d08c50e0d58bdac466","dark":"https://mintcdn.com/arcus-11aecf6e/Pw2ZUiZemhLSrOMO/logo/dark.svg?fit=max\u0026auto=format\u0026n=Pw2ZUiZemhLSrOMO\u0026q=85\u0026s=811a9395d1f3457230f9f5defa23c9d0"},"favicon":"https://mintcdn.com/arcus-11aecf6e/cwobDWFqGCQyNAqW/favicon.svg?fit=max\u0026auto=format\u0026n=cwobDWFqGCQyNAqW\u0026q=85\u0026s=c3d0e980a4a9fe344d7143e7f3c18caf","navbar":{"links":[{"href":"https://help.arcus.xyz","label":"Help Center"}],"primary":{"type":"button","label":"Go to Arcus","href":"https://app.arcus.xyz"}},"integrations":{"ga4":{"measurementId":"G-1232GKGLVQ"},"intercom":{"appId":"fdd72bam"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"arcus-11aecf6e","hasAudioNarration":false,"actualSubdomain":"arcus-11aecf6e","customDomains":["docs.arcus.xyz"],"gitSource":{"type":"github","owner":"dydxprotocol","repo":"v5-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af6b1f7aa6a9b02a8ca4e72","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API reference","count":99},{"language":"default","tag":"Endpoints","count":69},{"language":"default","tag":"Public","count":36},{"language":"default","tag":"WebSocket","count":22},{"language":"default","tag":"Concepts","count":20},{"language":"default","tag":"Referral","count":17},{"language":"default","tag":"Exchange","count":13},{"language":"default","tag":"Market data","count":11},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Perpetuals","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"starterQuestions":[{"_id":"6a0c053228609ad420f986bc","deploymentId":"69f19afe69cb5ad533409b0a","questionText":"How do I place an order","status":"active","generatedBy":"manual","createdAt":"2026-05-19T06:37:38.436Z","updatedAt":"2026-05-19T06:37:38.436Z","__v":0}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/public/get-account","slug":"/api-reference/public/get-account","pageMetadata":{"title":"Get account","description":"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/account","href":"/api-reference/public/get-account","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Note}=_components;if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsxs(Note,{children:[_jsx(_components.strong,{children:`The response body shown here is a static example, not live data.`}),` After you click `,_jsx(_components.strong,{children:`Send`}),`, your live result appears in a separate panel headed `,_jsx(_components.strong,{children:`200 OK`}),`. The panel under the status-code tabs is a fixed sample from the spec — its field values (fees, prices, sizes, IDs, timestamps) are placeholders. Use `,_jsx(_components.strong,{children:`Send`}),`, or call the endpoint, for current values.`]}),`\n`,_jsx(_components.p,{children:`Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get account","description":"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/account","href":"/api-reference/public/get-account","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Get account","description":"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\n","operationId":"getAccount","tags":["Public"],"x-codeSamples":[{"lang":"Shell","label":"curl","source":"ADDR=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\ncurl \"https://api.arcus.xyz/v1/account?address=${ADDR}\"\n"},{"lang":"Python","label":"requests","source":"import requests\nr = requests.get(\n \"https://api.arcus.xyz/v1/account\",\n params={\"address\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\"},\n)\nprint(r.json())\n"},{"lang":"TypeScript","label":"fetch","source":"const url = new URL(\"https://api.arcus.xyz/v1/account\");\nurl.searchParams.set(\"address\", \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\");\nconst res = await fetch(url);\nconsole.log(await res.json());\n"}],"parameters":["e329d250-b1d0-4364-945e-b19566b1f33d","e6e9ade9-12c2-4ef0-8b73-3f50cf99881a"],"responses":{"200":"ce3048cc-e8b6-4a2e-98ed-bd4aa6640e49","400":"ce087678-c7c5-4d7c-b942-b60825cb076a","404":"61e1f82a-1f04-4482-b0be-fbaf4629a1ea","429":"ad35ecb5-9421-4712-981b-a0f8cb3cbe0d"},"x-mint":{"content":"\u003cNote>**The response body shown here is a static example, not live data.** After you click **Send**, your live result appears in a separate panel headed **200 OK**. The panel under the status-code tabs is a fixed sample from the spec — its field values (fees, prices, sizes, IDs, timestamps) are placeholders. Use **Send**, or call the endpoint, for current values.\u003c/Note>\n\nReturns account information for the requested address, including balances, collateral, and open positions. No authentication header is required."},"method":"get","type":"path","servers":["8bcbded4-ced7-41f7-9103-ef78afb86c4b","db341041-78f8-47d5-bb08-4c97d4cfedb3"],"security":[],"path":"/v1/account","baseUrlOptions":["https://api.arcus.xyz","https://api.testnet.arcus.xyz"],"title":"Get account","codeSamples":[{"label":"curl","lang":"Shell","source":"ADDR=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\ncurl \"https://api.arcus.xyz/v1/account?address=${ADDR}\"\n"},{"label":"requests","lang":"Python","source":"import requests\nr = requests.get(\n \"https://api.arcus.xyz/v1/account\",\n params={\"address\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\"},\n)\nprint(r.json())\n"},{"label":"fetch","lang":"TypeScript","source":"const url = new URL(\"https://api.arcus.xyz/v1/account\");\nurl.searchParams.set(\"address\", \"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb\");\nconst res = await fetch(url);\nconsole.log(await res.json());\n"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"e329d250-b1d0-4364-945e-b19566b1f33d":{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^(0x|0X)?[0-9a-fA-F]{40}$","description":"Master Ethereum address for this API key (must match `address` from `POST /createApiKey` for the same key). Required on REST for account-scoped reads and for place/cancel. Invalid hex → 400; mismatch with key → 403.\n\n20-byte EVM address as hex: optional `0x` or `0X` prefix and exactly 40 hexadecimal digits. API responses normalize to lowercase `a`–`f` after `0x`.\n","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"Master Ethereum address for this API key (must match `address` from `POST /createApiKey` for the same key). Required on REST for account-scoped reads and for place/cancel. Invalid hex → 400; mismatch with key → 403.\n"},"e6e9ade9-12c2-4ef0-8b73-3f50cf99881a":{"name":"accountIndex","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":9,"default":0,"isRequired":false,"description":"Subaccount index (0–9) to scope the request to. Defaults to 0 (the primary account). Values above 9 → 400.\n","uniqueKey":"","typeLabel":"integer"},"description":"Subaccount index (0–9) to scope the request to. Defaults to 0 (the primary account). Values above 9 → 400.\n"}},"responses":{"ce3048cc-e8b6-4a2e-98ed-bd4aa6640e49":{"description":"Account details.","content":{"application/json":{"schema":{"type":"object","required":["accountIndex","address","netQuoteBalance","equity","freeCollateral","netDeposits","pendingDeposits","pendingWithdrawals","positions","sequenceNumber"],"description":"Account state including balances, collateral, and open positions. Returned by GET /account. Orders are served via the dedicated orders channel/endpoint.","properties":{"accountIndex":{"type":"integer","minimum":0,"maximum":9,"description":"Account index (account index, 0–9). Identifies the account for orders, positions, fills, and API keys.","isRequired":true,"uniqueKey":"accountIndex","typeLabel":"integer"},"address":{"type":"string","pattern":"^(0x|0X)?[0-9a-fA-F]{40}$","description":"Ethereum address associated with the account.","isRequired":true,"uniqueKey":"address","typeLabel":"string"},"netQuoteBalance":{"type":"string","description":"Account's aggregate cash balance as of the last event, in full quote currency (decimal string). Equals Account.QuoteBalance + Σ Position.QuoteBalance (cross-margin scope). Changes only on external cash flows: deposits, withdrawals, fill cash flows (-sizeDelta × fillPrice), trading fees, and funding settlements. Internal margin reallocations leave it unchanged. Combine with live oracle prices to derive equity: equity = netQuoteBalance + Σ (size × oracle).\n","examples":["100000","-25.5"],"isRequired":true,"uniqueKey":"netQuoteBalance","typeLabel":"string"},"equity":{"type":"string","description":"Total account equity in full quote currency (decimal string). Computed as netQuoteBalance + Σ (size × mark) over all open positions. May differ from the engine's netQuoteBalance snapshot between fills as mark prices move.\n","isRequired":true,"uniqueKey":"equity","typeLabel":"string"},"freeCollateral":{"type":"string","description":"Collateral available for trading in full quote currency (decimal string). Computed as equity − Σ initial_margin_required across open positions.\n\nSpot collateral value is excluded — it is not order margin (borrow capacity against it is LTV-bounded). When the lending section is present `equity` includes spot collateral value but `freeCollateral` does not, so an account backed by spot collateral can show `0` or a negative `freeCollateral` while `marginState` is `healthy`. Use `marginState` and `borrowHeadroom` for loan-aware headroom.\n","isRequired":true,"uniqueKey":"freeCollateral","typeLabel":"string"},"netDeposits":{"type":"string","description":"Lifetime net USDG deposits in full quote currency (decimal string): cumulative inflows minus cumulative outflows across every applied account transfer — deposits, withdrawals, internal transfers, self transfers between your own account indices, and referral claims. Rejected transfers, spot-asset flows (see `netDepositsByAsset`), and engine-originated lending cash legs (interest settlements, draws) are excluded.\n\nThis is the capital you have put in, not what it is worth now. Unlike `equity` and `freeCollateral` it does not move with oracle prices; only a transfer changes it. Subtract it from `equity` for all-time PnL — the same basis `GET /portfolio` uses, so the two agree.\n","examples":["100000","-25.5"],"isRequired":true,"uniqueKey":"netDeposits","typeLabel":"string"},"pendingDeposits":{"type":"string","description":"Pending deposit amount.","isRequired":true,"uniqueKey":"pendingDeposits","typeLabel":"string"},"pendingWithdrawals":{"type":"string","description":"Pending withdrawal amount.","isRequired":true,"uniqueKey":"pendingWithdrawals","typeLabel":"string"},"positions":{"type":"object","additionalProperties":{"type":"object","required":["address","accountIndex","marketId","marketDisplayName","side","size","averageEntryPrice","leverage","marginMode","borrowedCapital","marginUsed","positionValueNotional","unrealizedPnl","markPx"],"properties":{"address":{"type":"string","description":"Ethereum address as lowercase 0x + 40 hex digits.","examples":["0x0000000000000000000000000000000000000000"],"isRequired":true,"uniqueKey":"positions.additionalProperties.address","typeLabel":"string"},"accountIndex":{"type":"integer","minimum":0,"maximum":9,"description":"Account index (account index, 0–9). Identifies the account for orders, positions, fills, and API keys.","isRequired":true,"uniqueKey":"positions.additionalProperties.accountIndex","typeLabel":"integer"},"marketId":{"type":"integer","minimum":0,"maximum":65535,"description":"Perpetual market identifier (uint16). Map to display name via `GET /markets`. Used for orders, positions, funding, and market metadata.","isRequired":true,"uniqueKey":"positions.additionalProperties.marketId","typeLabel":"integer"},"marketDisplayName":{"type":"string","description":"Market symbol (e.g. BTC-USD).","examples":["BTC-USD"],"isRequired":true,"uniqueKey":"positions.additionalProperties.marketDisplayName","typeLabel":"string"},"side":{"type":"string","enum":["LONG","SHORT"],"description":"Position direction.","isRequired":true,"uniqueKey":"positions.additionalProperties.side","typeLabel":"enum\u003cstring>"},"size":{"type":"string","description":"Signed position quantity. Positive for long, negative for short.","examples":["1000000","-500000"],"isRequired":true,"uniqueKey":"positions.additionalProperties.size","typeLabel":"string"},"averageEntryPrice":{"type":"string","description":"Average entry price from the store (engine-derived from borrowed capital and size).","examples":["50000000000"],"isRequired":true,"uniqueKey":"positions.additionalProperties.averageEntryPrice","typeLabel":"string"},"leverage":{"type":"string","description":"Effective leverage for this `(account, market)`, as a decimal string. Reflects the user override set via `POST /v1/setLeverage` when one is present, otherwise the market default.\n","examples":["10"],"isRequired":true,"uniqueKey":"positions.additionalProperties.leverage","typeLabel":"string"},"marginMode":{"type":"string","enum":["CROSS","ISOLATED"],"description":"Cross-margin uses shared account collateral across positions. Isolated margin allocates collateral per position. All positions are CROSS unless isolated margin is enabled.\n","isRequired":true,"uniqueKey":"positions.additionalProperties.marginMode","typeLabel":"enum\u003cstring>"},"borrowedCapital":{"type":"string","description":"Borrowed notional in quote currency (decimal string, same scale as account equity). Negative for longs, positive for shorts. Authoritative value from the store (engine).\n","examples":["-70000"],"isRequired":true,"uniqueKey":"positions.additionalProperties.borrowedCapital","typeLabel":"string"},"marginUsed":{"type":"string","description":"Posted margin in quote currency (decimal string, same scale as equity).\n\n**CROSS:** initial margin required at the current mark: |size| × mark_price × initial_margin_fraction (per-market config, including user leverage and off-hours uplift). Uses the mark price when available; otherwise the entry price is used as the mark, consistent with notional and PnL fields.\n\n**ISOLATED:** the walled-off isolated-leg pool (engine `quoteBalance − borrowedCapital`), including extra posted via `POST /v1/adjustIsolatedMargin`. This does **not** track IMR as mark moves. The full isolated-leg cash balance is derivable as `marginUsed + borrowedCapital`.\n","examples":["7000"],"isRequired":true,"uniqueKey":"positions.additionalProperties.marginUsed","typeLabel":"string"},"positionValueNotional":{"type":"string","description":"Signed position notional at mark in quote currency (decimal string, same scale as equity): base size × mark price. When no mark price is available for the market, the entry price is used as the mark for this value.\n","examples":["50000"],"isRequired":true,"uniqueKey":"positions.additionalProperties.positionValueNotional","typeLabel":"string"},"unrealizedPnl":{"type":"string","description":"Unrealized price PnL in quote currency: base size × (mark − average entry price), equivalently `size × mark + borrowedCapital`. Funding is excluded — it settles into `netQuoteBalance`. Uses the latest mark price (ticks); when no mark price is available, the entry price is used as the mark (so this reads \"0\").\n","examples":["125.5"],"isRequired":true,"uniqueKey":"positions.additionalProperties.unrealizedPnl","typeLabel":"string"},"markPx":{"type":"string","description":"Mark price (decimal string) at the time this position snapshot was calculated. `\"0\"` when no mark price was available for the market (the snapshot may still use entry price as the mark for notional and PnL fields).\n","examples":["97500.5"],"isRequired":true,"uniqueKey":"positions.additionalProperties.markPx","typeLabel":"string"},"cumulativeFunding":{"type":"object","description":"Lifetime funding payment totals for this position at three horizons. Values are decimal strings in quote-currency units. Sign convention: positive = received, negative = paid.\n\n**Populated only on snapshot paths:** REST `GET /account`, REST `GET /positions`, and the WebSocket `AccountsSnapshot` / `PositionsSnapshot` frames that mirror them.\n\n**Omitted from streaming `PositionUpdate` frames** because these totals only change at funding ticks (≈ once per hour) — stamping them on every position update would be mostly duplicate data. Clients that need up-to-the-moment funding totals should read them from the account snapshot, which is delivered on subscribe and refreshed periodically by the gateway, or via REST `GET /account` / `GET /positions`.\n","required":["allTime","sinceOpen","sinceChange"],"properties":{"allTime":{"type":"string","description":"Sum across every funding tick the position has ever been on book for, including across opens and closes.","examples":["1.234"],"isRequired":true,"uniqueKey":"positions.additionalProperties.cumulativeFunding.allTime","typeLabel":"string"},"sinceOpen":{"type":"string","description":"Sum since the position last went 0 → non-zero. Equals allTime if the position has never been closed.","examples":["0.567"],"isRequired":true,"uniqueKey":"positions.additionalProperties.cumulativeFunding.sinceOpen","typeLabel":"string"},"sinceChange":{"type":"string","description":"Sum since the most recent positions_history row (any size change). Resets on every fill that changes size.","examples":["0.012"],"isRequired":true,"uniqueKey":"positions.additionalProperties.cumulativeFunding.sinceChange","typeLabel":"string"}},"uniqueKey":"positions.additionalProperties.cumulativeFunding","typeLabel":"object"},"sequenceNumber":{"type":"integer","format":"uint64","description":"Per-account sequence of the engine event that last wrote this row (same counter as `AccountUpdate.sequenceNumber`). Present on WebSocket `positions` snapshots and streaming `PositionUpdate` rows; omitted on REST `GET /positions` when unset.\n","uniqueKey":"positions.additionalProperties.sequenceNumber","typeLabel":"integer\u003cuint64>"}},"uniqueKey":"positions.additionalProperties","typeLabel":"object"},"description":"Open positions keyed by marketId (integer; 1=BTC-USD, 2=ETH-USD, etc). JSON keys are stringified integers.","properties":{},"isRequired":true,"uniqueKey":"positions","typeLabel":"object"},"sequenceNumber":{"type":"integer","format":"uint64","description":"Last processed engine sequence number for this account. Clients can use this to filter duplicate diffs and reconcile against streaming AccountUpdate events on the accounts channel.\n","isRequired":true,"uniqueKey":"sequenceNumber","typeLabel":"integer\u003cuint64>"},"netDepositsByAsset":{"type":"array","items":{"type":"object","required":["spotAssetId","spotAssetDisplayName","netAmount"],"properties":{"spotAssetId":{"type":"integer","description":"Collateral asset id (0 = USDG, otherwise a spot market id).","isRequired":true,"uniqueKey":"netDepositsByAsset.items.[INDEX].spotAssetId","typeLabel":"integer"},"spotAssetDisplayName":{"type":"string","description":"Asset display name (\"USDG\", or the spot market name, e.g. SPY-USD-SPOT).","isRequired":true,"uniqueKey":"netDepositsByAsset.items.[INDEX].spotAssetDisplayName","typeLabel":"string"},"netAmount":{"type":"string","description":"Signed lifetime net flow in the ASSET'S OWN units (decimal string) — USD for the USDG entry, asset size (e.g. shares) for spot entries. A quantity, not a valuation.\n","isRequired":true,"uniqueKey":"netDepositsByAsset.items.[INDEX].netAmount","typeLabel":"string"}},"uniqueKey":"netDepositsByAsset.items.[INDEX]","typeLabel":"object"},"description":"Lifetime net deposits broken out per collateral asset, sorted by spotAssetId. The spotAssetId 0 (USDG) entry always equals `netDeposits`. Spot entries are quantities in the asset's own units — value them with a price series of your choosing (pricing a past flow is a cost-basis question). Omitted for accounts with no transfer history.\n","uniqueKey":"netDepositsByAsset","typeLabel":"object[]"},"loanBalance":{"type":"string","description":"Outstanding loan principal in full quote currency (decimal string). Present only for accounts with a lending footprint — a loan history, an active wind-down, or spot collateral holdings; all other accounts keep the exact pre-lending response shape (this and the other lending fields are omitted). When the lending section is present, `equity` includes spot collateral value and deducts `unsettledInterest`, and `freeCollateral` deducts `unsettledInterest`.\n","examples":["100","0"],"uniqueKey":"loanBalance","typeLabel":"string"},"unsettledInterest":{"type":"string","description":"Borrow interest accrued since the account's last settlement and not yet debited from cash, in full quote currency (decimal string): loanBalance × (global borrow index − account's settlement cursor). Grows as the global index advances and snaps back toward 0 when the engine settles it (the debit then appears in `netQuoteBalance`) — a delta since last settle, NOT a lifetime interest total. Part of the lending section — omitted for accounts without one.\n","examples":["0.25"],"uniqueKey":"unsettledInterest","typeLabel":"string"},"marginState":{"type":"string","enum":["healthy","unhealthy","inWindDown"],"description":"Loan-aware margin verdict. `healthy`: new risk (orders, borrows, withdrawals) is admitted. `unhealthy`: the initial-margin check fails — no new risk, but no liquidation either (that triggers on the maintenance side). `inWindDown`: the account is a frozen estate being liquidated after a borrower-liquidation trigger. Part of the lending section — omitted for accounts without one.\n","uniqueKey":"marginState","typeLabel":"enum\u003cstring>"},"borrowHeadroom":{"type":"string","description":"How much additional loan need the account's current collateral could absorb, in full quote currency (decimal string): max(0, initial loan capacity − current loan need). 0 when the account is at or beyond its initial LTV bound. Part of the lending section — omitted for accounts without one.\n","examples":["150","0"],"uniqueKey":"borrowHeadroom","typeLabel":"string"},"spotPositions":{"type":"object","additionalProperties":{"type":"object","required":["spotAssetId","spotAssetDisplayName","size","value","oraclePrice"],"properties":{"spotAssetId":{"type":"integer","description":"Spot collateral asset id (own namespace — not a perp market id).","isRequired":true,"uniqueKey":"spotPositions.additionalProperties.spotAssetId","typeLabel":"integer"},"spotAssetDisplayName":{"type":"string","description":"Display name, e.g. SPY-USD-SPOT.","isRequired":true,"uniqueKey":"spotPositions.additionalProperties.spotAssetDisplayName","typeLabel":"string"},"size":{"type":"string","description":"Holding size in tokens, the asset's own units (decimal string). Renamed from `qty` to match the perp position surfaces.","isRequired":true,"uniqueKey":"spotPositions.additionalProperties.size","typeLabel":"string"},"value":{"type":"string","description":"`size × multiplier` shares (floored to whole share quantums) × `oraclePrice`, in full quote currency. \"0\" while unpriced.\n","isRequired":true,"uniqueKey":"spotPositions.additionalProperties.value","typeLabel":"string"},"oraclePrice":{"type":"string","description":"Live oracle price of one share of the underlying (the price-source market) in USD (decimal string). \"0\" while unpriced.","isRequired":true,"uniqueKey":"spotPositions.additionalProperties.oraclePrice","typeLabel":"string"},"multiplier":{"type":"string","description":"Shares of the underlying per token that `value` used (same format as `GET /v1/spotAssets` `multiplier`). \"1\" until a multiplier has been published.","uniqueKey":"spotPositions.additionalProperties.multiplier","typeLabel":"string"}},"uniqueKey":"spotPositions.additionalProperties","typeLabel":"object"},"description":"Spot collateral holdings keyed by spotAssetId (stringified integer; separate namespace from perp market ids). Only open holdings (size > 0) appear. Part of the lending section — omitted for accounts without one.\n","properties":{},"uniqueKey":"spotPositions","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"accountIndex":4,"address":"\u003cstring>","netQuoteBalance":"100000","equity":"\u003cstring>","freeCollateral":"\u003cstring>","netDeposits":"100000","pendingDeposits":"\u003cstring>","pendingWithdrawals":"\u003cstring>","positions":{},"sequenceNumber":123,"netDepositsByAsset":[{"spotAssetId":123,"spotAssetDisplayName":"\u003cstring>","netAmount":"\u003cstring>"}],"loanBalance":"100","unsettledInterest":"0.25","marginState":"healthy","borrowHeadroom":"150","spotPositions":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"ce087678-c7c5-4d7c-b942-b60825cb076a":{"description":"Missing or invalid `address` query parameter.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","examples":["Invalid request body"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code for generic (non-order) rejections. Present on geo-restriction blocks; clients should key product-availability UI off this rather than the human `error` string.\n\n| Value | Meaning |\n|------------------|---------|\n| `GEO_RESTRICTED` | The action is not available from the caller's country/region for this product (perps and/or spot). Reads remain available; only state-changing actions are blocked. |\n","enum":["GEO_RESTRICTED"],"uniqueKey":"code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid request body","code":"GEO_RESTRICTED"}}},"exampleType":"generated"}},"exampleType":"generated"},"61e1f82a-1f04-4482-b0be-fbaf4629a1ea":{"description":"The account has no recorded activity yet. The matching engine has never touched this account (no API key creation, deposit, or order), so there is nothing to return. The body carries the stable error string `\"this account has no activity yet\"`. The same address will return `200` after its first event lands.\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","examples":["Invalid request body"],"isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code for generic (non-order) rejections. Present on geo-restriction blocks; clients should key product-availability UI off this rather than the human `error` string.\n\n| Value | Meaning |\n|------------------|---------|\n| `GEO_RESTRICTED` | The action is not available from the caller's country/region for this product (perps and/or spot). Reads remain available; only state-changing actions are blocked. |\n","enum":["GEO_RESTRICTED"],"uniqueKey":"code","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid request body","code":"GEO_RESTRICTED"}}},"exampleType":"generated"}},"exampleType":"generated"},"ad35ecb5-9421-4712-981b-a0f8cb3cbe0d":{"description":"Rate limit exceeded. Two signals are returned, designed to coexist with both naive HTTP clients and rate-limit-aware SDK clients:\n\n- `Retry-After` header (integer seconds, RFC 7231 compliant). Rounds up — clients that obey this header sleep at least as long as required. Safe for generic HTTP libraries to read.\n- JSON body `retryAfterMs` (precise milliseconds, matches the server's internal computation). Sophisticated clients should prefer this over the header to avoid the round-up overshoot.\n- JSON body `reason` indicates which rate-limit layer rejected: `ip` (per-IP weight bucket), `account_empty` (per-subaccount pool fully exhausted, in drip throttle), `account_partial` (pool has some credit but not enough for this batch — split the request smaller to drain), or `unknown` (defensive fallback).\n- JSON body `clientId` (single-order endpoints) or `clientIds` (batch endpoints) echoes the request's client-supplied order identifier(s) so the client can correlate the rejection to a specific order request.\n","headers":{"Retry-After":{"description":"Seconds the client should wait before retrying the request.","schema":{"type":"integer","minimum":1,"example":1}}},"content":{"application/json":{"schema":{"description":"429 response body shape. Extends the generic `Error` with two rate-limit-specific fields:\n\n- `reason` — which limiter rejected the request. Stable string enum; new values may be added in future versions, so clients should treat unknown values as opaque.\n- `retryAfterMs` — precise milliseconds the client should wait before retrying. The HTTP `Retry-After` header carries the same information rounded up to whole seconds (RFC 7231); prefer this field when sub-second precision matters.\n","type":"object","required":["error"],"properties":{"error":{"type":"string","example":"rate limited","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"reason":{"type":"string","enum":["ip","account_empty","account_partial","unknown"],"description":"Layer that rejected the request:\n * `ip` — per-IP weight bucket exhausted.\n * `account_empty` — per-subaccount pool fully exhausted; the\n drip-throttle has no token available either.\n * `account_partial` — pool has some credit but not enough\n for this batch. Split the request into smaller chunks to\n drain the remaining headroom.\n * `unknown` — defensive fallback; clients should retry per\n `retryAfterMs` and report the occurrence.\n","uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"retryAfterMs":{"type":"integer","format":"int64","minimum":0,"description":"Milliseconds to wait before retrying. Matches the precise wait the rate limiter computed (the `Retry-After` header rounds up to the next whole second).","uniqueKey":"retryAfterMs","typeLabel":"integer\u003cint64>"},"clientId":{"type":"string","description":"Echo of the request's client-supplied `clientId`, so the client can correlate the rejection to a specific order request. Present only on single-order endpoints (placeOrder, modifyOrder, cancelOrder) when the request carried a `clientId`. Omitted on batch endpoints (see `clientIds`) and when the request had none.\n","uniqueKey":"clientId","typeLabel":"string"},"clientIds":{"type":"array","items":{"type":"string","uniqueKey":"clientIds.items.[INDEX]","typeLabel":"string"},"description":"Echo of every client-supplied `clientId` in a batch request (batchPlaceOrders, batchCancelOrders), positionally aligned with the submitted `orders` / `cancels` array. A batch is rejected all-or-nothing, so every listed order was rejected; the echo lets a client submitting multiple batches concurrently correlate the 429 to a specific batch. An entry is empty when that element carried no `clientId` (e.g. a cancel-by-orderId). Omitted on single-order endpoints (see `clientId`).\n","uniqueKey":"clientIds","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"rate limited","reason":"account_empty","retryAfterMs":850,"clientId":"my-order-42"},"examples":{"Example":{"title":"Example","value":{"error":"rate limited","reason":"account_empty","retryAfterMs":850,"clientId":"my-order-42"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{"8bcbded4-ced7-41f7-9103-ef78afb86c4b":{"url":"https://api.arcus.xyz","description":"Mainnet"},"db341041-78f8-47d5-bb08-4c97d4cfedb3":{"url":"https://api.testnet.arcus.xyz","description":"Testnet"}}},"originalFileLocation":"api-reference/openapi.yml"},"subdomain":"arcus-11aecf6e","siteName":"Arcus Docs","title":"Get account - Arcus Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T03:48:06.293Z","originalFileLocation":"api-reference/public/get-account.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=\"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Arcus Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_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/arcus-11aecf6e/zluNDxrkwkprdXlm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get account - Arcus Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Arcus Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.arcus.xyz/api-reference/public/get-account\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://arcus-11aecf6e.mintlify.site/_mintlify/api/og/v2?division=Public\u0026amp;title=Get+account\u0026amp;description=Returns+account+information+for+the+requested+address%2C+including+balances%2C+collateral%2C+and+open+positions.+No+authentication+header+is+required.%0A\u0026amp;theme=8f431044d56cd21a41b03f79\u0026amp;signature=ebb4622a18a4783f3665350e3e64e87e9eb83aa641a8dc4624e3bafeff5baa65\">\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 account - Arcus Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://arcus-11aecf6e.mintlify.site/_mintlify/api/og/v2?division=Public\u0026amp;title=Get+account\u0026amp;description=Returns+account+information+for+the+requested+address%2C+including+balances%2C+collateral%2C+and+open+positions.+No+authentication+header+is+required.%0A\u0026amp;theme=8f431044d56cd21a41b03f79\u0026amp;signature=ebb4622a18a4783f3665350e3e64e87e9eb83aa641a8dc4624e3bafeff5baa65\">\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/arcus-11aecf6e/zluNDxrkwkprdXlm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Arcus Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.arcus.xyz/api-reference/public/get-account\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/public/get-account.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.arcus.xyz/#organization\",\"name\":\"Arcus Docs\",\"url\":\"https://docs.arcus.xyz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/arcus-11aecf6e/Pw2ZUiZemhLSrOMO/logo/light.svg?fit=max\u0026auto=format\u0026n=Pw2ZUiZemhLSrOMO\u0026q=85\u0026s=9bbd1de2de2a31d08c50e0d58bdac466\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.arcus.xyz#website\",\"name\":\"Arcus Docs\",\"url\":\"https://docs.arcus.xyz\",\"publisher\":{\"@id\":\"https://docs.arcus.xyz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.arcus.xyz/api-reference/public/get-account#webpage\",\"url\":\"https://docs.arcus.xyz/api-reference/public/get-account\",\"name\":\"Get account\",\"description\":\"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\",\"dateModified\":\"2026-11-12T03:48:06.293Z\",\"isPartOf\":{\"@id\":\"https://docs.arcus.xyz#website\"},\"breadcrumb\":{\"@id\":\"https://docs.arcus.xyz/api-reference/public/get-account#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.arcus.xyz/api-reference/public/get-account#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.arcus.xyz/api-reference/public/service-info\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Public\",\"item\":\"https://docs.arcus.xyz/api-reference/public/service-info\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get account\",\"item\":\"https://docs.arcus.xyz/api-reference/public/get-account\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.arcus.xyz/api-reference/public/get-account#apireference\",\"headline\":\"Get account\",\"name\":\"Get account\",\"description\":\"Returns account information for the requested address, including balances, collateral, and open positions. No authentication header is required.\",\"url\":\"https://docs.arcus.xyz/api-reference/public/get-account\",\"mainEntityOfPage\":{\"@id\":\"https://docs.arcus.xyz/api-reference/public/get-account#webpage\"},\"dateModified\":\"2026-11-12T03:48:06.293Z\",\"publisher\":{\"@id\":\"https://docs.arcus.xyz/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.arcus.xyz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Arcus Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Arcus Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/public/get-account.md","siteName":"Arcus Docs","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/fund-testnet-account"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/concepts/onboarding"}]},{"tab":"API reference","groups":[{"group":"API documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"WebSocket","href":"/api-reference/websocket"},{"title":"Rate limits","href":"/api-reference/rate-limits"}]},{"group":"Endpoints","pages":[{"group":"Public","pages":[{"title":"Service info","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /","href":"/api-reference/public/service-info"},{"title":"Health check","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /health","href":"/api-reference/public/health-check"},{"title":"Get L2 orderbook snapshot","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/l2OrderBook/{market}","href":"/api-reference/public/get-l2-orderbook-snapshot"},{"title":"Get Best Bid Offer (BBO)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/bbo/{market}","href":"/api-reference/public/get-best-bid-offer-bbo"},{"title":"Get current server time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/time","href":"/api-reference/public/get-current-server-time"},{"title":"Get all mid prices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/mids","href":"/api-reference/public/get-all-mid-prices"},{"title":"Get live prices for all markets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/prices","href":"/api-reference/public/get-live-prices-for-all-markets"},{"title":"Get fee tier table","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/feetiers","href":"/api-reference/public/get-fee-tier-table"},{"title":"Get referral commission rate schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/commissionrates","href":"/api-reference/public/get-referral-commission-rate-schedule"},{"title":"Get markets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/markets","href":"/api-reference/public/get-markets"},{"title":"Get market fee schedules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/markets/feeSchedules","href":"/api-reference/public/get-market-fee-schedules"},{"title":"Get corporate actions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/corporateActions","href":"/api-reference/public/get-corporate-actions"},{"title":"Get corporate actions for a market","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/corporateActions/{market_id}","href":"/api-reference/public/get-corporate-actions-for-a-market"},{"title":"Get spot collateral assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/spotAssets","href":"/api-reference/public/get-spot-collateral-assets"},{"title":"Get global lending attributes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/lendingAttributes","href":"/api-reference/public/get-global-lending-attributes"},{"title":"Get recent public trades","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/trades","href":"/api-reference/public/get-recent-public-trades"},{"title":"Get a single trade by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/trade/{tradeId}","href":"/api-reference/public/get-a-single-trade-by-id"},{"title":"Get OHLCV candles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/candles","href":"/api-reference/public/get-ohlcv-candles"},{"title":"Get open orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/openOrders","href":"/api-reference/public/get-open-orders"},{"title":"Get order history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/orders","href":"/api-reference/public/get-order-history"},{"title":"Get fills","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/fills","href":"/api-reference/public/get-fills"},{"title":"Get spot fills","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/spotFills","href":"/api-reference/public/get-spot-fills"},{"title":"Get fill by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/fill/{tradeId}","href":"/api-reference/public/get-fill-by-id"},{"title":"Get account transfer updates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/accountTransferUpdates","href":"/api-reference/public/get-account-transfer-updates"},{"title":"Get funding payments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/funding","href":"/api-reference/public/get-funding-payments"},{"title":"Get interest payments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/interest","href":"/api-reference/public/get-interest-payments"},{"title":"Get market funding rates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/fundingRates","href":"/api-reference/public/get-market-funding-rates"},{"title":"Get portfolio history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/portfolio","href":"/api-reference/public/get-portfolio-history"},{"title":"Get current rate-limit usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/rateLimit","href":"/api-reference/public/get-current-rate-limit-usage"},{"title":"Get positions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/positions","href":"/api-reference/public/get-positions"},{"title":"Get spot positions","description":"Returns all open spot collateral positions for the requested account address, keyed by spot market id.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/spotPositions","href":"/api-reference/public/get-spot-positions"},{"title":"Get account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/account","href":"/api-reference/public/get-account"},{"title":"Get account stats","description":"Returns trading statistics for any Ethereum address, in selectable sections so clients fetch only what they need:\n\n- `feeTier` — the account's fee tier level and fee discount.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/account/stats","href":"/api-reference/public/get-account-stats"},{"title":"Get order status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/order/{orderId}","href":"/api-reference/public/get-order-status"},{"title":"Get leverage and margin mode for an account across all markets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/leverages","href":"/api-reference/public/get-leverage-and-margin-mode-for-an-account-across-all-markets"},{"title":"Get the all-traders leaderboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/leaderboard","href":"/api-reference/public/get-the-all-traders-leaderboard"}]},{"group":"Exchange","pages":[{"title":"Place order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/placeOrder","href":"/api-reference/exchange/place-order"},{"title":"Place batch orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/batchPlaceOrders","href":"/api-reference/exchange/place-batch-orders"},{"title":"Cancel order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/cancelOrder","href":"/api-reference/exchange/cancel-order"},{"title":"Batch cancel orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/batchCancelOrders","href":"/api-reference/exchange/batch-cancel-orders"},{"title":"Schedule cancel-all (dead man's switch)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/scheduleCancel","href":"/api-reference/exchange/schedule-cancel-all-dead-mans-switch"},{"title":"Cancel all open orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/cancelAllOrders","href":"/api-reference/exchange/cancel-all-open-orders"},{"title":"Modify order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/modifyOrder","href":"/api-reference/exchange/modify-order"},{"title":"Batch modify orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/batchModifyOrders","href":"/api-reference/exchange/batch-modify-orders"},{"title":"Set leverage for a market","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/setLeverage","href":"/api-reference/exchange/set-leverage-for-a-market"},{"title":"Add or remove margin on an isolated-mode position","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/adjustIsolatedMargin","href":"/api-reference/exchange/add-or-remove-margin-on-an-isolated-mode-position"},{"title":"Sell spot collateral to settle the account's loan","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/settleLoan","href":"/api-reference/exchange/sell-spot-collateral-to-settle-the-accounts-loan"},{"title":"Submit withdrawal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/withdraw","href":"/api-reference/exchange/submit-withdrawal"},{"title":"Submit internal transfer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/transfer","href":"/api-reference/exchange/submit-internal-transfer"}]},{"group":"Onboarding","pages":[{"title":"Get API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/apiKeys","href":"/api-reference/onboarding/get-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/createApiKey","href":"/api-reference/onboarding/create-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/revokeApiKey","href":"/api-reference/onboarding/revoke-api-key"}]},{"group":"Referral","pages":[{"title":"Create referral code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/createCode","href":"/api-reference/referral/create-referral-code"},{"title":"Register as referee","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/registerAffiliate","href":"/api-reference/referral/register-as-referee"},{"title":"Update kickback rate","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/kickback","href":"/api-reference/referral/update-kickback-rate"},{"title":"Revoke referral code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/revokeCode","href":"/api-reference/referral/revoke-referral-code"},{"title":"Rename referral code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/modifyCode","href":"/api-reference/referral/rename-referral-code"},{"title":"Claim accrued commission","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/claim","href":"/api-reference/referral/claim-accrued-commission"},{"title":"Get affiliate info","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/info","href":"/api-reference/referral/get-affiliate-info"},{"title":"Get the caller's referral code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/code","href":"/api-reference/referral/get-the-callers-referral-code"},{"title":"Get referees","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/referees","href":"/api-reference/referral/get-referees"},{"title":"Get my referrer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/myReferrer","href":"/api-reference/referral/get-my-referrer"},{"title":"Get affiliate leaderboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/leaderboard","href":"/api-reference/referral/get-affiliate-leaderboard"},{"title":"Get affiliate commission history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/commissions","href":"/api-reference/referral/get-affiliate-commission-history"},{"title":"Get affiliate claim history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/claims","href":"/api-reference/referral/get-affiliate-claim-history"},{"title":"Look up a single claim","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/claimStatus","href":"/api-reference/referral/look-up-a-single-claim"},{"title":"Check whether a referral code is available","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/codeAvailable","href":"/api-reference/referral/check-whether-a-referral-code-is-available"},{"title":"List the caller's invite codes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml get /v1/affiliate/inviteCodes","href":"/api-reference/referral/list-the-callers-invite-codes"},{"title":"Redeem an invite code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yml post /v1/affiliate/redeemInvite","href":"/api-reference/referral/redeem-an-invite-code"}]}]},{"group":"WebSocket","pages":[{"group":"Market data","pages":[{"asyncapi":"api-reference/asyncapi.yaml l2Orderbook","href":"/api-reference/market-data/l2orderbook","title":"L2 orderbook","version":null},{"asyncapi":"api-reference/asyncapi.yaml l2OrderbookUpdates","href":"/api-reference/market-data/l2orderbookupdates","title":"L2 orderbook updates","version":null},{"asyncapi":"api-reference/asyncapi.yaml trades","href":"/api-reference/market-data/trades","title":"Trades","version":null},{"asyncapi":"api-reference/asyncapi.yaml markets","href":"/api-reference/market-data/markets","title":"Markets","version":null},{"asyncapi":"api-reference/asyncapi.yaml oraclePrices","href":"/api-reference/market-data/oracleprices","title":"Oracle prices","version":null},{"asyncapi":"api-reference/asyncapi.yaml bbo","href":"/api-reference/market-data/bbo","title":"Bbo","version":null},{"asyncapi":"api-reference/asyncapi.yaml lendingRates","href":"/api-reference/market-data/lendingrates","title":"Lending rates","version":null},{"asyncapi":"api-reference/asyncapi.yaml predictedFunding","href":"/api-reference/market-data/predictedfunding","title":"Predicted funding","version":null},{"asyncapi":"api-reference/asyncapi.yaml exchangeAttributeUpdates","href":"/api-reference/market-data/exchangeattributeupdates","title":"Exchange attribute updates","version":null},{"asyncapi":"api-reference/asyncapi.yaml marketAttributes","href":"/api-reference/market-data/marketattributes","title":"Market attributes","version":null},{"asyncapi":"api-reference/asyncapi.yaml candles","href":"/api-reference/market-data/candles","title":"Candles","version":null}]},{"group":"Account","pages":[{"asyncapi":"api-reference/asyncapi.yaml account","href":"/api-reference/account/account","title":"Account","version":null},{"asyncapi":"api-reference/asyncapi.yaml positions","href":"/api-reference/account/positions","title":"Positions","version":null},{"asyncapi":"api-reference/asyncapi.yaml spotPositions","href":"/api-reference/account/spotpositions","title":"Spot positions","version":null},{"asyncapi":"api-reference/asyncapi.yaml userFills","href":"/api-reference/account/userfills","title":"User fills","version":null},{"asyncapi":"api-reference/asyncapi.yaml spotFills","href":"/api-reference/account/spotfills","title":"Spot fills","version":null},{"asyncapi":"api-reference/asyncapi.yaml settleLoanResults","href":"/api-reference/account/settleloanresults","title":"Settle loan results","version":null},{"asyncapi":"api-reference/asyncapi.yaml orders","href":"/api-reference/account/orders","title":"Orders","version":null},{"asyncapi":"api-reference/asyncapi.yaml funding","href":"/api-reference/account/funding","title":"Funding","version":null},{"asyncapi":"api-reference/asyncapi.yaml accountTransferUpdates","href":"/api-reference/account/accounttransferupdates","title":"Account transfer updates","version":null},{"asyncapi":"api-reference/asyncapi.yaml accountAttributeUpdates","href":"/api-reference/account/accountattributeupdates","title":"Account attribute updates","version":null}]},{"group":"Trading","pages":[{"asyncapi":"api-reference/asyncapi.yaml orderOperations","href":"/api-reference/trading/orderoperations","title":"Order operations","version":null}]}]},{"group":"Changelog","pages":[{"title":"Changelog API (Mainnet)","href":"/changelog"},{"title":"Upcoming mainnet release","href":"/changelog/upcoming"},{"title":"Changelog API (Testnet)","href":"/changelog/testnet"},{"title":"Arcus Changelog","href":"/changelog/frontend"}]}]}]},"basePath":"","title":"Get account - Arcus Docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}