Executed trades of one token against ADA, taken from the wallet’s own ADA flow, one row per wallet transaction. Every listed trade is one the P&L prices. The P&L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet’s stake key), which are not listed, so totals summed from this list can be lower than the P&L’s and cannot reproduce them. Mainnet only: stakeAddress is a lower-case stake1... address, checksum checked. Amounts are the wallet’s own net flow, as strings: priceAda is the all-in price per whole token with fees included (per raw unit when decimals is 0 because it is unknown), marketPriceAda the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). status is always EXECUTED. kind is ORDER_FILL when the wallet’s own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), DIRECT_SWAP when its own transaction swapped against a pool or took someone else’s resting order, LAUNCHPAD for a bonding curve. venues may be empty. Fields with no value are sent as null. Pages are ordered by blockTime then txHash (order, default desc); pass nextCursor back as cursor for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different computedAt values; the cursor stays valid. Filters: limit (1 to 500, default 100), from and to (unix seconds, inclusive), unit (policy id + asset name hex), venue (a DEX name or SOLADA), side (BUY or SELL); order, venue and side are case-insensitive. An invalid parameter is a 400 whose errorCode is INVALID_STAKE_ADDRESS, INVALID_CURSOR, INVALID_LIMIT, UNKNOWN_VENUE, INVALID_PARAMETER, or BAD_REQUEST for a non-numeric limit, from or to. Every response carries a coverage object whose excludes lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 WALLET_TOO_LARGE; retrying does not help.
The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet’s state and retryAfterSeconds) and a Retry-After header, with no P&L or history numbers. Call again after Retry-After seconds.
GET
/
api
/
wallet
/
{stakeAddress}
/
trades
Wallet trade history
curl --request GET \
--url https://nexus.gerowallet.io/api/wallet/{stakeAddress}/trades \
--header 'X-Api-Key: <api-key>'
Send your API key in the X-Api-Key header. Keys start with nxs_ and are
created in the dashboard (or via POST /api/keys with a session JWT).
Each key is scoped to one chain and one network (for example
CARDANO_MAINNET), fixed at creation time. It cannot query a different network
on the same chain, and it cannot query a different chain at all. A mismatched
network parameter returns 400 Network Mismatch. Create one key per chain
and network under the same account.
This is the credential most integrations should use.
What the list includes and what it deliberately leaves out. The same on every page.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"Gero Nexus Documentation","colors":{"primary":"#00A8C8","light":"#33BFDF","dark":"#0086A0"},"logo":{"light":"https://mintcdn.com/adlabsltd/w_bfGubiiWLvoDAl/logo/nexus.svg?fit=max\u0026auto=format\u0026n=w_bfGubiiWLvoDAl\u0026q=85\u0026s=66273e235814fbb6e81110142d8599b9","dark":"https://mintcdn.com/adlabsltd/w_bfGubiiWLvoDAl/logo/nexus.svg?fit=max\u0026auto=format\u0026n=w_bfGubiiWLvoDAl\u0026q=85\u0026s=66273e235814fbb6e81110142d8599b9","href":"https://nexus.gerowallet.io"},"favicon":"https://mintcdn.com/adlabsltd/w_bfGubiiWLvoDAl/logo/nexus.svg?fit=max\u0026auto=format\u0026n=w_bfGubiiWLvoDAl\u0026q=85\u0026s=66273e235814fbb6e81110142d8599b9","api":{"playground":{},"mdx":{"auth":{"method":"key","name":"X-Api-Key"}}},"search":{"prompt":"Search Gero Nexus documentation..."},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"adlabsltd","hasAudioNarration":false,"actualSubdomain":"adlabsltd","customDomains":["nexus.gerowallet.io"],"gitSource":{"type":"github","owner":"gero-labs","repo":"nexus","deployBranch":"development","contentDirectory":"docs/api","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af4e506ba2025abb0112525","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API Reference","count":201},{"language":"default","tag":"Cardano \u0026 Apex","count":94},{"language":"default","tag":"Cardano Market Data","count":57},{"language":"default","tag":"Bitcoin","count":21},{"language":"default","tag":"Addresses","count":21},{"language":"default","tag":"Transactions","count":19},{"language":"default","tag":"Midnight","count":17},{"language":"default","tag":"Assets","count":10},{"language":"default","tag":"Governance","count":10},{"language":"default","tag":"DUST","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":[{"filePath":"styles.css","content":":root{--gero-cyan: #00A8C8;--gero-cyan-hover: #0086A0;--gero-turquoise: #00CCBB;--gero-cyan-light: #33BFDF;--gero-cyan-lighter: #E6F7FB;--glass-bg: rgba(255, 255, 255, 0.2);--glass-border: rgba(255, 255, 255, 0.1);--shadow-card: 0 4px 6px rgba(0, 0, 0, 0.05);--shadow-card-hover: 0 8px 25px rgba(0, 0, 0, 0.1)}[data-theme=\"dark\"]{--glass-bg: rgba(0, 0, 0, 0.2);--glass-border: rgba(255, 255, 255, 0.05)}.mint-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1rem;transition:all 0.3s ease}.mint-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--gero-cyan-light)}pre{border-radius:0.75rem!important;border:1px solid var(--glass-border)!important;box-shadow:var(--shadow-card)!important}a{color:var(--gero-cyan)!important;transition:color 0.2s ease}a:hover{color:var(--gero-cyan-hover)!important}button.primary,.mint-button-primary{background:linear-gradient(135deg, var(--gero-cyan), var(--gero-turquoise))!important;border:none!important;color:white!important;transition:all 0.3s ease!important}button.primary:hover,.mint-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0, 168, 200, 0.3)}h1{background:linear-gradient(135deg, var(--gero-cyan), var(--gero-turquoise));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mint-accordion{border:1px solid var(--glass-border);border-radius:0.75rem;background:var(--glass-bg);backdrop-filter:blur(8px)}.mint-info-box,.mint-tip,.mint-note{background:var(--glass-bg)!important;backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-left:4px solid var(--gero-cyan);border-radius:0.5rem}.mint-warning{border-left-color:#d97706!important}.mint-success,.mint-check{border-left-color:#16a34a!important}.mint-search{border:1px solid var(--glass-border);border-radius:0.75rem;background:var(--glass-bg);backdrop-filter:blur(8px)}.mint-search:focus{border-color:var(--gero-cyan);box-shadow:0 0 0 3px rgba(0, 168, 200, 0.1)}.mint-nav-item-active{color:var(--gero-cyan)!important;font-weight:600}table{border-radius:0.75rem;overflow:hidden;border:1px solid var(--glass-border)}thead{background:linear-gradient(135deg, var(--gero-cyan), var(--gero-turquoise));color:white}tr:hover{background:var(--glass-bg)}.mint-badge{background:var(--gero-cyan-lighter);color:var(--gero-cyan);border-radius:0.375rem;padding:0.25rem 0.75rem;font-weight:500;font-size:0.875rem}code[class*=\"language-\"],pre[class*=\"language-\"]{font-family:'Fira Code', 'Consolas', monospace}html{scroll-behavior:smooth}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.mint-loading{animation:shimmer 2s infinite;background:linear-gradient(\n to right,\n var(--glass-bg) 4%,\n var(--glass-border) 25%,\n var(--glass-bg) 36%\n );background-size:1000px 100%}"}],"page":{"pagePath":"api-reference/cardano-market-data/wallet-trade-history","slug":"/api-reference/cardano-market-data/wallet-trade-history","pageMetadata":{"title":"Wallet trade history","description":"Executed trades of one token against ADA, taken from the wallet's own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026L prices. The P\u0026L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet's stake key), which are not listed, so totals summed from this list can be lower than the P\u0026L's and cannot reproduce them. Mainnet only: `stakeAddress` is a lower-case `stake1...` address, checksum checked. Amounts are the wallet's own net flow, as strings: `priceAda` is the all-in price per whole token with fees included (per raw unit when `decimals` is 0 because it is unknown), `marketPriceAda` the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). `status` is always `EXECUTED`. `kind` is `ORDER_FILL` when the wallet's own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), `DIRECT_SWAP` when its own transaction swapped against a pool or took someone else's resting order, `LAUNCHPAD` for a bonding curve. `venues` may be empty. Fields with no value are sent as null. Pages are ordered by `blockTime` then `txHash` (`order`, default `desc`); pass `nextCursor` back as `cursor` for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different `computedAt` values; the cursor stays valid. Filters: `limit` (1 to 500, default 100), `from` and `to` (unix seconds, inclusive), `unit` (policy id + asset name hex), `venue` (a DEX name or `SOLADA`), `side` (`BUY` or `SELL`); `order`, `venue` and `side` are case-insensitive. An invalid parameter is a 400 whose `errorCode` is `INVALID_STAKE_ADDRESS`, `INVALID_CURSOR`, `INVALID_LIMIT`, `UNKNOWN_VENUE`, `INVALID_PARAMETER`, or `BAD_REQUEST` for a non-numeric `limit`, `from` or `to`. Every response carries a `coverage` object whose `excludes` lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 `WALLET_TOO_LARGE`; retrying does not help.\n\nThe first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet's state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/wallet/{stakeAddress}/trades","href":"/api-reference/cardano-market-data/wallet-trade-history","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: [_jsxs(_components.p, {\n children: [\"Executed trades of one token against ADA, taken from the wallet’s own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026L prices. The P\u0026L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet’s stake key), which are not listed, so totals summed from this list can be lower than the P\u0026L’s and cannot reproduce them. Mainnet only: \", _jsx(_components.code, {\n children: \"stakeAddress\"\n }), \" is a lower-case \", _jsx(_components.code, {\n children: \"stake1...\"\n }), \" address, checksum checked. Amounts are the wallet’s own net flow, as strings: \", _jsx(_components.code, {\n children: \"priceAda\"\n }), \" is the all-in price per whole token with fees included (per raw unit when \", _jsx(_components.code, {\n children: \"decimals\"\n }), \" is 0 because it is unknown), \", _jsx(_components.code, {\n children: \"marketPriceAda\"\n }), \" the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). \", _jsx(_components.code, {\n children: \"status\"\n }), \" is always \", _jsx(_components.code, {\n children: \"EXECUTED\"\n }), \". \", _jsx(_components.code, {\n children: \"kind\"\n }), \" is \", _jsx(_components.code, {\n children: \"ORDER_FILL\"\n }), \" when the wallet’s own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), \", _jsx(_components.code, {\n children: \"DIRECT_SWAP\"\n }), \" when its own transaction swapped against a pool or took someone else’s resting order, \", _jsx(_components.code, {\n children: \"LAUNCHPAD\"\n }), \" for a bonding curve. \", _jsx(_components.code, {\n children: \"venues\"\n }), \" may be empty. Fields with no value are sent as null. Pages are ordered by \", _jsx(_components.code, {\n children: \"blockTime\"\n }), \" then \", _jsx(_components.code, {\n children: \"txHash\"\n }), \" (\", _jsx(_components.code, {\n children: \"order\"\n }), \", default \", _jsx(_components.code, {\n children: \"desc\"\n }), \"); pass \", _jsx(_components.code, {\n children: \"nextCursor\"\n }), \" back as \", _jsx(_components.code, {\n children: \"cursor\"\n }), \" for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different \", _jsx(_components.code, {\n children: \"computedAt\"\n }), \" values; the cursor stays valid. Filters: \", _jsx(_components.code, {\n children: \"limit\"\n }), \" (1 to 500, default 100), \", _jsx(_components.code, {\n children: \"from\"\n }), \" and \", _jsx(_components.code, {\n children: \"to\"\n }), \" (unix seconds, inclusive), \", _jsx(_components.code, {\n children: \"unit\"\n }), \" (policy id + asset name hex), \", _jsx(_components.code, {\n children: \"venue\"\n }), \" (a DEX name or \", _jsx(_components.code, {\n children: \"SOLADA\"\n }), \"), \", _jsx(_components.code, {\n children: \"side\"\n }), \" (\", _jsx(_components.code, {\n children: \"BUY\"\n }), \" or \", _jsx(_components.code, {\n children: \"SELL\"\n }), \"); \", _jsx(_components.code, {\n children: \"order\"\n }), \", \", _jsx(_components.code, {\n children: \"venue\"\n }), \" and \", _jsx(_components.code, {\n children: \"side\"\n }), \" are case-insensitive. An invalid parameter is a 400 whose \", _jsx(_components.code, {\n children: \"errorCode\"\n }), \" is \", _jsx(_components.code, {\n children: \"INVALID_STAKE_ADDRESS\"\n }), \", \", _jsx(_components.code, {\n children: \"INVALID_CURSOR\"\n }), \", \", _jsx(_components.code, {\n children: \"INVALID_LIMIT\"\n }), \", \", _jsx(_components.code, {\n children: \"UNKNOWN_VENUE\"\n }), \", \", _jsx(_components.code, {\n children: \"INVALID_PARAMETER\"\n }), \", or \", _jsx(_components.code, {\n children: \"BAD_REQUEST\"\n }), \" for a non-numeric \", _jsx(_components.code, {\n children: \"limit\"\n }), \", \", _jsx(_components.code, {\n children: \"from\"\n }), \" or \", _jsx(_components.code, {\n children: \"to\"\n }), \". Every response carries a \", _jsx(_components.code, {\n children: \"coverage\"\n }), \" object whose \", _jsx(_components.code, {\n children: \"excludes\"\n }), \" lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 \", _jsx(_components.code, {\n children: \"WALLET_TOO_LARGE\"\n }), \"; retrying does not help.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet’s state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.\"\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":"Wallet trade history","description":"Executed trades of one token against ADA, taken from the wallet's own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026L prices. The P\u0026L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet's stake key), which are not listed, so totals summed from this list can be lower than the P\u0026L's and cannot reproduce them. Mainnet only: `stakeAddress` is a lower-case `stake1...` address, checksum checked. Amounts are the wallet's own net flow, as strings: `priceAda` is the all-in price per whole token with fees included (per raw unit when `decimals` is 0 because it is unknown), `marketPriceAda` the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). `status` is always `EXECUTED`. `kind` is `ORDER_FILL` when the wallet's own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), `DIRECT_SWAP` when its own transaction swapped against a pool or took someone else's resting order, `LAUNCHPAD` for a bonding curve. `venues` may be empty. Fields with no value are sent as null. Pages are ordered by `blockTime` then `txHash` (`order`, default `desc`); pass `nextCursor` back as `cursor` for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different `computedAt` values; the cursor stays valid. Filters: `limit` (1 to 500, default 100), `from` and `to` (unix seconds, inclusive), `unit` (policy id + asset name hex), `venue` (a DEX name or `SOLADA`), `side` (`BUY` or `SELL`); `order`, `venue` and `side` are case-insensitive. An invalid parameter is a 400 whose `errorCode` is `INVALID_STAKE_ADDRESS`, `INVALID_CURSOR`, `INVALID_LIMIT`, `UNKNOWN_VENUE`, `INVALID_PARAMETER`, or `BAD_REQUEST` for a non-numeric `limit`, `from` or `to`. Every response carries a `coverage` object whose `excludes` lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 `WALLET_TOO_LARGE`; retrying does not help.\n\nThe first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet's state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/wallet/{stakeAddress}/trades","href":"/api-reference/cardano-market-data/wallet-trade-history","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Cardano Market Data"],"summary":"Wallet trade history","description":"Executed trades of one token against ADA, taken from the wallet's own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026L prices. The P\u0026L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet's stake key), which are not listed, so totals summed from this list can be lower than the P\u0026L's and cannot reproduce them. Mainnet only: `stakeAddress` is a lower-case `stake1...` address, checksum checked. Amounts are the wallet's own net flow, as strings: `priceAda` is the all-in price per whole token with fees included (per raw unit when `decimals` is 0 because it is unknown), `marketPriceAda` the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). `status` is always `EXECUTED`. `kind` is `ORDER_FILL` when the wallet's own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), `DIRECT_SWAP` when its own transaction swapped against a pool or took someone else's resting order, `LAUNCHPAD` for a bonding curve. `venues` may be empty. Fields with no value are sent as null. Pages are ordered by `blockTime` then `txHash` (`order`, default `desc`); pass `nextCursor` back as `cursor` for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different `computedAt` values; the cursor stays valid. Filters: `limit` (1 to 500, default 100), `from` and `to` (unix seconds, inclusive), `unit` (policy id + asset name hex), `venue` (a DEX name or `SOLADA`), `side` (`BUY` or `SELL`); `order`, `venue` and `side` are case-insensitive. An invalid parameter is a 400 whose `errorCode` is `INVALID_STAKE_ADDRESS`, `INVALID_CURSOR`, `INVALID_LIMIT`, `UNKNOWN_VENUE`, `INVALID_PARAMETER`, or `BAD_REQUEST` for a non-numeric `limit`, `from` or `to`. Every response carries a `coverage` object whose `excludes` lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 `WALLET_TOO_LARGE`; retrying does not help.\n\nThe first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet's state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.","operationId":"walletTrades","parameters":["45cf62d3-c898-489e-8fdd-c8171bd9511a","012486e1-dc32-4439-b136-6a64dc57336a","ad5feacb-5990-4d71-bf9f-9764c00b25b3","dcd0f23c-c984-41f4-8601-d43cab22bb22","8c974cad-88b3-4d79-8c89-5115ec60a07c","072b7aa3-3cfb-4058-8f0e-69e4597ebacb","37de8722-2b95-4fac-9abb-5dedd192a4da","6d6bfbd5-163d-4d1a-9aef-c50626dd5143","75d0db04-3c31-4e2e-8d9b-c7a52851c95a","70465021-1b25-40d5-9ab0-f9b676c982e3"],"responses":{"200":"f324ed95-3f63-40b9-9c87-4015ea33c005","202":"c3f5629d-75b1-41ee-8d02-155f24f84960","400":"1cf37351-d0ea-420c-aa22-ea719f0d989f","403":"90a38f00-6406-4226-8d51-7c4f2ef78603","422":"f8070041-b126-4b2e-a7df-cb49b1830b84","503":"72fab361-60be-47df-89b8-1e4ab92f8254"},"method":"get","type":"path","servers":["261bf326-3c0e-417d-b72d-c1309977474c"],"security":["f94d7f41-d9a5-415b-8f2a-8bf2ced68204","d45d7884-5b5d-49f6-865d-c8f652c6c610"],"path":"/api/wallet/{stakeAddress}/trades","baseUrlOptions":["https://nexus.gerowallet.io"],"title":"Wallet trade history","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"45cf62d3-c898-489e-8fdd-c8171bd9511a":{"name":"stakeAddress","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"012486e1-dc32-4439-b136-6a64dc57336a":{"name":"limit","in":"query","description":"Rows per page, 1 to 500.","required":false,"schema":{"type":"integer","format":"int32","isRequired":false,"description":"Rows per page, 1 to 500.","uniqueKey":"","typeLabel":"integer\u003cint32>"}},"ad5feacb-5990-4d71-bf9f-9764c00b25b3":{"name":"cursor","in":"query","description":"nextCursor of the previous page.","required":false,"schema":{"type":"string","isRequired":false,"description":"nextCursor of the previous page.","uniqueKey":"","typeLabel":"string"}},"dcd0f23c-c984-41f4-8601-d43cab22bb22":{"name":"order","in":"query","description":"desc (default, newest first) or asc, by blockTime then txHash.","required":false,"schema":{"type":"string","isRequired":false,"description":"desc (default, newest first) or asc, by blockTime then txHash.","uniqueKey":"","typeLabel":"string"}},"8c974cad-88b3-4d79-8c89-5115ec60a07c":{"name":"from","in":"query","description":"Earliest blockTime, unix seconds, inclusive.","required":false,"schema":{"type":"integer","format":"int64","isRequired":false,"description":"Earliest blockTime, unix seconds, inclusive.","uniqueKey":"","typeLabel":"integer\u003cint64>"}},"072b7aa3-3cfb-4058-8f0e-69e4597ebacb":{"name":"to","in":"query","description":"Latest blockTime, unix seconds, inclusive.","required":false,"schema":{"type":"integer","format":"int64","isRequired":false,"description":"Latest blockTime, unix seconds, inclusive.","uniqueKey":"","typeLabel":"integer\u003cint64>"}},"37de8722-2b95-4fac-9abb-5dedd192a4da":{"name":"unit","in":"query","description":"Only this token: policy id + asset name hex.","required":false,"schema":{"type":"string","isRequired":false,"description":"Only this token: policy id + asset name hex.","uniqueKey":"","typeLabel":"string"}},"6d6bfbd5-163d-4d1a-9aef-c50626dd5143":{"name":"venue","in":"query","description":"Only trades through this venue: a DEX name (MINSWAP_V2, SPLASH, ...) or SOLADA.","required":false,"schema":{"type":"string","isRequired":false,"description":"Only trades through this venue: a DEX name (MINSWAP_V2, SPLASH, ...) or SOLADA.","uniqueKey":"","typeLabel":"string"}},"75d0db04-3c31-4e2e-8d9b-c7a52851c95a":{"name":"side","in":"query","description":"BUY or SELL.","required":false,"schema":{"type":"string","isRequired":false,"description":"BUY or SELL.","uniqueKey":"","typeLabel":"string"}},"70465021-1b25-40d5-9ab0-f9b676c982e3":{"name":"network","in":"query","description":"Target Cardano network for per-network market-data instances (e.g. `preview` or `preprod`). Omit, or pass `mainnet`, for mainnet.","required":false,"schema":{"type":"string","isRequired":false,"description":"Target Cardano network for per-network market-data instances (e.g. `preview` or `preprod`). Omit, or pass `mainnet`, for mainnet.","uniqueKey":"","typeLabel":"string"}}},"responses":{"f324ed95-3f63-40b9-9c87-4015ea33c005":{"description":"One page of the wallet's trades.","content":{"*/*":{"schema":{"type":"object","description":"One page of the wallet's trades of one token against ADA.","properties":{"stakeAddress":{"type":"string","uniqueKey":"stakeAddress","typeLabel":"string"},"computedAt":{"type":"integer","format":"int64","description":"When the list was computed, unix seconds. Pages of one list share it.","uniqueKey":"computedAt","typeLabel":"integer\u003cint64>"},"indexedFrom":{"type":"integer","format":"int64","description":"Start of the indexer's own history, unix seconds. Before it, direct pool swaps are not listed (see coverage).","uniqueKey":"indexedFrom","typeLabel":"integer\u003cint64>"},"items":{"type":"array","items":{"type":"object","description":"One trade of one token against ADA that settled in the wallet's own transaction.","properties":{"txHash":{"type":"string","description":"The wallet tx in which the trade settled: the fill tx for an order, the swap tx for a direct swap.","uniqueKey":"\\items.items.[INDEX].txHash","typeLabel":"string"},"blockTime":{"type":"integer","format":"int64","description":"Block time of txHash, unix seconds.","uniqueKey":"\\items.items.[INDEX].blockTime","typeLabel":"integer\u003cint64>"},"slot":{"type":"integer","format":"int64","description":"Slot of txHash.","uniqueKey":"\\items.items.[INDEX].slot","typeLabel":"integer\u003cint64>"},"side":{"type":"string","description":"BUY when the token came into the wallet, SELL when it left.","enum":["BUY","SELL"],"uniqueKey":"\\items.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"unit":{"type":"string","description":"Token traded against ADA: policy id + asset name hex.","uniqueKey":"\\items.items.[INDEX].unit","typeLabel":"string"},"ticker":{"type":"string","description":"Token ticker from token metadata.","uniqueKey":"\\items.items.[INDEX].ticker","typeLabel":"string"},"decimals":{"type":"integer","format":"int32","description":"Token decimals from token metadata; 0 when unknown (as in the P\u0026L). With 0 for a token that really has decimals, tokenAmount and priceAda are per RAW unit while marketPriceAda stays per whole token, so the two prices then differ by 10^decimals.","uniqueKey":"\\items.items.[INDEX].decimals","typeLabel":"integer\u003cint32>"},"tokenAmountRaw":{"type":"string","description":"Net token units that entered or left the wallet in txHash, raw integer, absolute.","uniqueKey":"\\items.items.[INDEX].tokenAmountRaw","typeLabel":"string"},"tokenAmount":{"type":"string","description":"tokenAmountRaw / 10^decimals, plain decimal.","uniqueKey":"\\items.items.[INDEX].tokenAmount","typeLabel":"string"},"adaAmountLovelace":{"type":"string","description":"Net lovelace the wallet paid (BUY) or received (SELL) in txHash, absolute. All-in: includes batcher and network fees as the wallet saw them.","uniqueKey":"\\items.items.[INDEX].adaAmountLovelace","typeLabel":"string"},"priceAda":{"type":"string","description":"Effective price, ADA per whole token, fees included: adaAmount / tokenAmount. Per raw unit when decimals is 0 for a token whose decimals are unknown (see decimals).","uniqueKey":"\\items.items.[INDEX].priceAda","typeLabel":"string"},"marketPriceAda":{"type":"string","description":"Price of the executed indexed swap for txHash and unit, ADA per whole token. Pool level: in a batched tx it covers every order in the tx.","uniqueKey":"\\items.items.[INDEX].marketPriceAda","typeLabel":"string"},"status":{"type":"string","description":"Always EXECUTED: the tx is on chain.","enum":["EXECUTED"],"uniqueKey":"\\items.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"kind":{"type":"string","description":"ORDER_FILL: a batcher or order book filled the wallet's own order. DIRECT_SWAP: the wallet's tx swapped against a pool or a resting order. LAUNCHPAD: a launchpad venue (bonding curve).","enum":["ORDER_FILL","DIRECT_SWAP","LAUNCHPAD"],"uniqueKey":"\\items.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"venues":{"type":"array","description":"Venues the trade went through: DEX names or SOLADA. More than one on a split route; empty only when enrichment was degraded.","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].venues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"\\items.items.[INDEX].venues","typeLabel":"string[]"},"aggregator":{"type":"string","description":"Aggregator that routed the trade (DEXHUNTER, GERO, ...), when indexed.","uniqueKey":"\\items.items.[INDEX].aggregator","typeLabel":"string"},"orderTxHash":{"type":"string","description":"ORDER_FILL only: the tx that created the order UTxO the fill spent.","uniqueKey":"\\items.items.[INDEX].orderTxHash","typeLabel":"string"},"orderOutputIndex":{"type":"integer","format":"int32","description":"ORDER_FILL only: output index of that order UTxO.","uniqueKey":"\\items.items.[INDEX].orderOutputIndex","typeLabel":"integer\u003cint32>"},"orderBlockTime":{"type":"integer","format":"int64","description":"ORDER_FILL only: block time of the order's placement, unix seconds.","uniqueKey":"\\items.items.[INDEX].orderBlockTime","typeLabel":"integer\u003cint64>"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"},"nextCursor":{"type":"string","description":"Opaque cursor for the next page, null on the last page.","uniqueKey":"nextCursor","typeLabel":"string"},"coverage":{"type":"object","description":"What the list includes and what it deliberately leaves out. The same on every page.","properties":{"ruleVersion":{"type":"integer","format":"int32","description":"Version of the rules below. Bumped whenever what counts as a trade changes.","uniqueKey":"coverage.ruleVersion","typeLabel":"integer\u003cint32>"},"includes":{"type":"array","description":"Classes of trade the list covers in this deployment.","items":{"type":"string","uniqueKey":"coverage.includes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"coverage.includes","typeLabel":"string[]"},"excludes":{"type":"array","description":"Classes of trade the list never covers, with a note a client can show verbatim.","items":{"type":"object","description":"One class of trade the list does not cover.","properties":{"code":{"type":"string","uniqueKey":"coverage.excludes.items.[INDEX].code","typeLabel":"string"},"note":{"type":"string","uniqueKey":"coverage.excludes.items.[INDEX].note","typeLabel":"string"},"venues":{"type":"array","description":"Venues the exclusion mostly concerns.","items":{"type":"string","uniqueKey":"coverage.excludes.items.[INDEX].venues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"coverage.excludes.items.[INDEX].venues","typeLabel":"string[]"}},"uniqueKey":"coverage.excludes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"coverage.excludes","typeLabel":"object[]"},"enrichmentDegraded":{"type":"boolean","description":"True when an enrichment lookup failed: some ticker, decimals, marketPriceAda, aggregator or venue fields may be null or empty. No row is ever dropped for it, and such a list is not cached.","uniqueKey":"coverage.enrichmentDegraded","typeLabel":"boolean"}},"uniqueKey":"coverage","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"stakeAddress":"\u003cstring>","computedAt":123,"indexedFrom":123,"items":[{"txHash":"\u003cstring>","blockTime":123,"slot":123,"side":"BUY","unit":"\u003cstring>","ticker":"\u003cstring>","decimals":123,"tokenAmountRaw":"\u003cstring>","tokenAmount":"\u003cstring>","adaAmountLovelace":"\u003cstring>","priceAda":"\u003cstring>","marketPriceAda":"\u003cstring>","status":"EXECUTED","kind":"ORDER_FILL","venues":["\u003cstring>"],"aggregator":"\u003cstring>","orderTxHash":"\u003cstring>","orderOutputIndex":123,"orderBlockTime":123}],"nextCursor":"\u003cstring>","coverage":{"ruleVersion":123,"includes":["\u003cstring>"],"excludes":[{"code":"\u003cstring>","note":"\u003cstring>","venues":["\u003cstring>"]}],"enrichmentDegraded":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"c3f5629d-75b1-41ee-8d02-155f24f84960":{"description":"Not ready: a requested wallet's history is still being fetched. Contains no P\u0026L or history numbers. Never cached.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","style":"simple","schema":{"type":"object"}}},"content":{"*/*":{"schema":{"type":"object","description":"Wallet history or P\u0026L is not ready: the history of at least one requested wallet from before the indexer's start is still being fetched. Retry after retryAfterSeconds; the fetch continues in the background between calls.","properties":{"status":{"type":"string","description":"Always PENDING.","example":"PENDING","uniqueKey":"status","typeLabel":"string"},"wallets":{"type":"array","description":"Every requested wallet with the state of its history fetch.","items":{"type":"object","properties":{"stakeAddress":{"type":"string","uniqueKey":"wallets.items.[INDEX].stakeAddress","typeLabel":"string"},"backfill":{"type":"string","description":"COMPLETE: history indexed. IN_PROGRESS: being fetched. FAILED: the last fetch failed and is retried automatically on a call after a cool-down.","enum":["COMPLETE","IN_PROGRESS","FAILED"],"example":"IN_PROGRESS","uniqueKey":"wallets.items.[INDEX].backfill","typeLabel":"enum\u003cstring>"}},"uniqueKey":"wallets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"wallets","typeLabel":"object[]"},"retryAfterSeconds":{"type":"integer","format":"int32","description":"Seconds to wait before retrying. Also sent as the Retry-After header.","example":30,"uniqueKey":"retryAfterSeconds","typeLabel":"integer\u003cint32>"},"message":{"type":"string","description":"Human-readable explanation.","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"PENDING","wallets":[{"stakeAddress":"\u003cstring>","backfill":"IN_PROGRESS"}],"retryAfterSeconds":30,"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"1cf37351-d0ea-420c-aa22-ea719f0d989f":{"description":"errorCode INVALID_STAKE_ADDRESS (not a mainnet stake address), INVALID_CURSOR (not a cursor this endpoint issued), INVALID_LIMIT (outside 1 to 500), UNKNOWN_VENUE, or INVALID_PARAMETER (order, side, unit, or from after to). Checked before any work.","content":{"*/*":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","uniqueKey":"errorCode","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"string","uniqueKey":"details.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details","typeLabel":"string[]"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errorCode":"\u003cstring>","message":"\u003cstring>","details":["\u003cstring>"],"timestamp":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"90a38f00-6406-4226-8d51-7c4f2ef78603":{"description":"Not called through Nexus: this route is served to trusted callers only (cluster-internal, or a valid X-Internal-Key). Refused before any work.","content":{"*/*":{"schema":{"type":"object","description":"One page of the wallet's trades of one token against ADA.","properties":{"stakeAddress":{"type":"string","uniqueKey":"stakeAddress","typeLabel":"string"},"computedAt":{"type":"integer","format":"int64","description":"When the list was computed, unix seconds. Pages of one list share it.","uniqueKey":"computedAt","typeLabel":"integer\u003cint64>"},"indexedFrom":{"type":"integer","format":"int64","description":"Start of the indexer's own history, unix seconds. Before it, direct pool swaps are not listed (see coverage).","uniqueKey":"indexedFrom","typeLabel":"integer\u003cint64>"},"items":{"type":"array","items":{"type":"object","description":"One trade of one token against ADA that settled in the wallet's own transaction.","properties":{"txHash":{"type":"string","description":"The wallet tx in which the trade settled: the fill tx for an order, the swap tx for a direct swap.","uniqueKey":"\\items.items.[INDEX].txHash","typeLabel":"string"},"blockTime":{"type":"integer","format":"int64","description":"Block time of txHash, unix seconds.","uniqueKey":"\\items.items.[INDEX].blockTime","typeLabel":"integer\u003cint64>"},"slot":{"type":"integer","format":"int64","description":"Slot of txHash.","uniqueKey":"\\items.items.[INDEX].slot","typeLabel":"integer\u003cint64>"},"side":{"type":"string","description":"BUY when the token came into the wallet, SELL when it left.","enum":["BUY","SELL"],"uniqueKey":"\\items.items.[INDEX].side","typeLabel":"enum\u003cstring>"},"unit":{"type":"string","description":"Token traded against ADA: policy id + asset name hex.","uniqueKey":"\\items.items.[INDEX].unit","typeLabel":"string"},"ticker":{"type":"string","description":"Token ticker from token metadata.","uniqueKey":"\\items.items.[INDEX].ticker","typeLabel":"string"},"decimals":{"type":"integer","format":"int32","description":"Token decimals from token metadata; 0 when unknown (as in the P\u0026L). With 0 for a token that really has decimals, tokenAmount and priceAda are per RAW unit while marketPriceAda stays per whole token, so the two prices then differ by 10^decimals.","uniqueKey":"\\items.items.[INDEX].decimals","typeLabel":"integer\u003cint32>"},"tokenAmountRaw":{"type":"string","description":"Net token units that entered or left the wallet in txHash, raw integer, absolute.","uniqueKey":"\\items.items.[INDEX].tokenAmountRaw","typeLabel":"string"},"tokenAmount":{"type":"string","description":"tokenAmountRaw / 10^decimals, plain decimal.","uniqueKey":"\\items.items.[INDEX].tokenAmount","typeLabel":"string"},"adaAmountLovelace":{"type":"string","description":"Net lovelace the wallet paid (BUY) or received (SELL) in txHash, absolute. All-in: includes batcher and network fees as the wallet saw them.","uniqueKey":"\\items.items.[INDEX].adaAmountLovelace","typeLabel":"string"},"priceAda":{"type":"string","description":"Effective price, ADA per whole token, fees included: adaAmount / tokenAmount. Per raw unit when decimals is 0 for a token whose decimals are unknown (see decimals).","uniqueKey":"\\items.items.[INDEX].priceAda","typeLabel":"string"},"marketPriceAda":{"type":"string","description":"Price of the executed indexed swap for txHash and unit, ADA per whole token. Pool level: in a batched tx it covers every order in the tx.","uniqueKey":"\\items.items.[INDEX].marketPriceAda","typeLabel":"string"},"status":{"type":"string","description":"Always EXECUTED: the tx is on chain.","enum":["EXECUTED"],"uniqueKey":"\\items.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"kind":{"type":"string","description":"ORDER_FILL: a batcher or order book filled the wallet's own order. DIRECT_SWAP: the wallet's tx swapped against a pool or a resting order. LAUNCHPAD: a launchpad venue (bonding curve).","enum":["ORDER_FILL","DIRECT_SWAP","LAUNCHPAD"],"uniqueKey":"\\items.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"venues":{"type":"array","description":"Venues the trade went through: DEX names or SOLADA. More than one on a split route; empty only when enrichment was degraded.","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].venues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"\\items.items.[INDEX].venues","typeLabel":"string[]"},"aggregator":{"type":"string","description":"Aggregator that routed the trade (DEXHUNTER, GERO, ...), when indexed.","uniqueKey":"\\items.items.[INDEX].aggregator","typeLabel":"string"},"orderTxHash":{"type":"string","description":"ORDER_FILL only: the tx that created the order UTxO the fill spent.","uniqueKey":"\\items.items.[INDEX].orderTxHash","typeLabel":"string"},"orderOutputIndex":{"type":"integer","format":"int32","description":"ORDER_FILL only: output index of that order UTxO.","uniqueKey":"\\items.items.[INDEX].orderOutputIndex","typeLabel":"integer\u003cint32>"},"orderBlockTime":{"type":"integer","format":"int64","description":"ORDER_FILL only: block time of the order's placement, unix seconds.","uniqueKey":"\\items.items.[INDEX].orderBlockTime","typeLabel":"integer\u003cint64>"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"},"nextCursor":{"type":"string","description":"Opaque cursor for the next page, null on the last page.","uniqueKey":"nextCursor","typeLabel":"string"},"coverage":{"type":"object","description":"What the list includes and what it deliberately leaves out. The same on every page.","properties":{"ruleVersion":{"type":"integer","format":"int32","description":"Version of the rules below. Bumped whenever what counts as a trade changes.","uniqueKey":"coverage.ruleVersion","typeLabel":"integer\u003cint32>"},"includes":{"type":"array","description":"Classes of trade the list covers in this deployment.","items":{"type":"string","uniqueKey":"coverage.includes.items.[INDEX]","typeLabel":"string"},"uniqueKey":"coverage.includes","typeLabel":"string[]"},"excludes":{"type":"array","description":"Classes of trade the list never covers, with a note a client can show verbatim.","items":{"type":"object","description":"One class of trade the list does not cover.","properties":{"code":{"type":"string","uniqueKey":"coverage.excludes.items.[INDEX].code","typeLabel":"string"},"note":{"type":"string","uniqueKey":"coverage.excludes.items.[INDEX].note","typeLabel":"string"},"venues":{"type":"array","description":"Venues the exclusion mostly concerns.","items":{"type":"string","uniqueKey":"coverage.excludes.items.[INDEX].venues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"coverage.excludes.items.[INDEX].venues","typeLabel":"string[]"}},"uniqueKey":"coverage.excludes.items.[INDEX]","typeLabel":"object"},"uniqueKey":"coverage.excludes","typeLabel":"object[]"},"enrichmentDegraded":{"type":"boolean","description":"True when an enrichment lookup failed: some ticker, decimals, marketPriceAda, aggregator or venue fields may be null or empty. No row is ever dropped for it, and such a list is not cached.","uniqueKey":"coverage.enrichmentDegraded","typeLabel":"boolean"}},"uniqueKey":"coverage","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"stakeAddress":"\u003cstring>","computedAt":123,"indexedFrom":123,"items":[{"txHash":"\u003cstring>","blockTime":123,"slot":123,"side":"BUY","unit":"\u003cstring>","ticker":"\u003cstring>","decimals":123,"tokenAmountRaw":"\u003cstring>","tokenAmount":"\u003cstring>","adaAmountLovelace":"\u003cstring>","priceAda":"\u003cstring>","marketPriceAda":"\u003cstring>","status":"EXECUTED","kind":"ORDER_FILL","venues":["\u003cstring>"],"aggregator":"\u003cstring>","orderTxHash":"\u003cstring>","orderOutputIndex":123,"orderBlockTime":123}],"nextCursor":"\u003cstring>","coverage":{"ruleVersion":123,"includes":["\u003cstring>"],"excludes":[{"code":"\u003cstring>","note":"\u003cstring>","venues":["\u003cstring>"]}],"enrichmentDegraded":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"f8070041-b126-4b2e-a7df-cb49b1830b84":{"description":"WALLET_TOO_LARGE: the requested wallets hold more indexed UTxOs between them than history, holdings and P\u0026L are computed for (50,000 by default). Retrying does not help.","content":{"*/*":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","uniqueKey":"errorCode","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"string","uniqueKey":"details.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details","typeLabel":"string[]"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errorCode":"\u003cstring>","message":"\u003cstring>","details":["\u003cstring>"],"timestamp":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"72fab361-60be-47df-89b8-1e4ab92f8254":{"description":"Reading the wallet's indexed history took longer than its statement timeout (30 s by default), or reading the trades' evidence failed. Contains no trades; never cached; retry later.","content":{"*/*":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","uniqueKey":"errorCode","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"string","uniqueKey":"details.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details","typeLabel":"string[]"},"timestamp":{"type":"string","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"errorCode":"\u003cstring>","message":"\u003cstring>","details":["\u003cstring>"],"timestamp":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"f94d7f41-d9a5-415b-8f2a-8bf2ced68204":{"apiKeyAuth":{"type":"apiKey","description":"### API key (programmatic access — recommended)\nSend your API key in the `X-Api-Key` header. Keys start with `nxs_` and are\ncreated in the dashboard (or via **POST /api/keys** with a session JWT).\n\nEach key is scoped to **one chain and one network** (for example\n`CARDANO_MAINNET`), fixed at creation time. It cannot query a different network\non the same chain, and it cannot query a different chain at all. A mismatched\n`network` parameter returns **400 Network Mismatch**. Create one key per chain\nand network under the same account.\n\nThis is the credential most integrations should use.","name":"X-Api-Key","in":"header","scopes":[],"schemeName":"apiKeyAuth"}},"d45d7884-5b5d-49f6-865d-c8f652c6c610":{"bearerAuth":{"type":"http","description":"### JWT session token (browser / mobile apps)\nA short-lived JWT issued by `/api/auth/login` or `/api/auth/device`, sent as\n`Authorization: Bearer \u003ctoken>`. This is the **session** credential for the web\ndashboard and mobile apps, not for server-to-server API access.\n\nFor programmatic API access use an **API key** in the `X-Api-Key` header\ninstead — do **not** put an `nxs_` API key in this Bearer field.","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"261bf326-3c0e-417d-b72d-c1309977474c":{"url":"https://nexus.gerowallet.io","description":"API Server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","description":"### API key (programmatic access — recommended)\nSend your API key in the `X-Api-Key` header. Keys start with `nxs_` and are\ncreated in the dashboard (or via **POST /api/keys** with a session JWT).\n\nEach key is scoped to **one chain and one network** (for example\n`CARDANO_MAINNET`), fixed at creation time. It cannot query a different network\non the same chain, and it cannot query a different chain at all. A mismatched\n`network` parameter returns **400 Network Mismatch**. Create one key per chain\nand network under the same account.\n\nThis is the credential most integrations should use.","name":"X-Api-Key","in":"header","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"X-Api-Key","type":"string","description":"### API key (programmatic access — recommended)\nSend your API key in the `X-Api-Key` header. Keys start with `nxs_` and are\ncreated in the dashboard (or via **POST /api/keys** with a session JWT).\n\nEach key is scoped to **one chain and one network** (for example\n`CARDANO_MAINNET`), fixed at creation time. It cannot query a different network\non the same chain, and it cannot query a different chain at all. A mismatched\n`network` parameter returns **400 Network Mismatch**. Create one key per chain\nand network under the same account.\n\nThis is the credential most integrations should use.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"X-Api-Key"}],"title":"apiKeyAuth"},{"schemes":[{"scheme":{"type":"http","description":"### JWT session token (browser / mobile apps)\nA short-lived JWT issued by `/api/auth/login` or `/api/auth/device`, sent as\n`Authorization: Bearer \u003ctoken>`. This is the **session** credential for the web\ndashboard and mobile apps, not for server-to-server API access.\n\nFor programmatic API access use an **API key** in the `X-Api-Key` header\ninstead — do **not** put an `nxs_` API key in this Bearer field.","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"### JWT session token (browser / mobile apps)\nA short-lived JWT issued by `/api/auth/login` or `/api/auth/device`, sent as\n`Authorization: Bearer \u003ctoken>`. This is the **session** credential for the web\ndashboard and mobile apps, not for server-to-server API access.\n\nFor programmatic API access use an **API key** in the `X-Api-Key` header\ninstead — do **not** put an `nxs_` API key in this Bearer field.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://nexus.gerowallet.io/v3/api-docs"},"subdomain":"adlabsltd","siteName":"Gero Nexus Documentation","title":"Wallet trade history - Gero Nexus Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T21:57:51.973Z","originalFileLocation":"api-reference/cardano-market-data/wallet-trade-history.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=\"Executed trades of one token against ADA, taken from the wallet\u0026#x27;s own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026amp;L prices. The P\u0026amp;L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet\u0026#x27;s stake key), which are not listed, so totals summed from this list can be lower than the P\u0026amp;L\u0026#x27;s and cannot reproduce them. Mainnet only: stakeAddress is a lower-case stake1... address, checksum checked. Amounts are the wallet\u0026#x27;s own net flow, as strings: priceAda is the all-in price per whole token with fees included (per raw unit when decimals is 0 because it is unknown), marketPriceAda the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). status is always EXECUTED. kind is ORDER_FILL when the wallet\u0026#x27;s own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), DIRECT_SWAP when its own transaction swapped against a pool or took someone else\u0026#x27;s resting order, LAUNCHPAD for a bonding curve. venues may be empty. Fields with no value are sent as null. Pages are ordered by blockTime then txHash (order, default desc); pass nextCursor back as cursor for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different computedAt values; the cursor stays valid. Filters: limit (1 to 500, default 100), from and to (unix seconds, inclusive), unit (policy id + asset name hex), venue (a DEX name or SOLADA), side (BUY or SELL); order, venue and side are case-insensitive. An invalid parameter is a 400 whose errorCode is INVALID_STAKE_ADDRESS, INVALID_CURSOR, INVALID_LIMIT, UNKNOWN_VENUE, INVALID_PARAMETER, or BAD_REQUEST for a non-numeric limit, from or to. Every response carries a coverage object whose excludes lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 WALLET_TOO_LARGE; retrying does not help. The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet\u0026#x27;s state and retryAfterSeconds) and a Retry-After header, with no P\u0026amp;L or history numbers. Call again after Retry-After seconds.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Gero Nexus Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_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=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Wallet trade history - Gero Nexus Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Executed trades of one token against ADA, taken from the wallet\u0026#x27;s own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026amp;L prices. The P\u0026amp;L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet\u0026#x27;s stake key), which are not listed, so totals summed from this list can be lower than the P\u0026amp;L\u0026#x27;s and cannot reproduce them. Mainnet only: stakeAddress is a lower-case stake1... address, checksum checked. Amounts are the wallet\u0026#x27;s own net flow, as strings: priceAda is the all-in price per whole token with fees included (per raw unit when decimals is 0 because it is unknown), marketPriceAda the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). status is always EXECUTED. kind is ORDER_FILL when the wallet\u0026#x27;s own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), DIRECT_SWAP when its own transaction swapped against a pool or took someone else\u0026#x27;s resting order, LAUNCHPAD for a bonding curve. venues may be empty. Fields with no value are sent as null. Pages are ordered by blockTime then txHash (order, default desc); pass nextCursor back as cursor for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different computedAt values; the cursor stays valid. Filters: limit (1 to 500, default 100), from and to (unix seconds, inclusive), unit (policy id + asset name hex), venue (a DEX name or SOLADA), side (BUY or SELL); order, venue and side are case-insensitive. An invalid parameter is a 400 whose errorCode is INVALID_STAKE_ADDRESS, INVALID_CURSOR, INVALID_LIMIT, UNKNOWN_VENUE, INVALID_PARAMETER, or BAD_REQUEST for a non-numeric limit, from or to. Every response carries a coverage object whose excludes lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 WALLET_TOO_LARGE; retrying does not help. The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet\u0026#x27;s state and retryAfterSeconds) and a Retry-After header, with no P\u0026amp;L or history numbers. Call again after Retry-After seconds.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Gero Nexus Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://adlabsltd.mintlify.site/docs/_mintlify/api/og/v2?division=Cardano+Market+Data\u0026amp;title=Wallet+trade+history\u0026amp;description=Executed+trades+of+one+token+against+ADA%2C+taken+from+the+wallet%27s+own+ADA+flow%2C+one+row+per+wallet+transaction.+Every+listed+trade+is+one+the+P%26L+prices.+The+P%26\u0026amp;theme=4c64eb9af7e1d83b0696be36\u0026amp;signature=733f3145ee97fef4f703b70eafdce6c07da49d9658713885ad31d3a2364e5fcb\">\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=\"Wallet trade history - Gero Nexus Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Executed trades of one token against ADA, taken from the wallet\u0026#x27;s own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026amp;L prices. The P\u0026amp;L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet\u0026#x27;s stake key), which are not listed, so totals summed from this list can be lower than the P\u0026amp;L\u0026#x27;s and cannot reproduce them. Mainnet only: stakeAddress is a lower-case stake1... address, checksum checked. Amounts are the wallet\u0026#x27;s own net flow, as strings: priceAda is the all-in price per whole token with fees included (per raw unit when decimals is 0 because it is unknown), marketPriceAda the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). status is always EXECUTED. kind is ORDER_FILL when the wallet\u0026#x27;s own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), DIRECT_SWAP when its own transaction swapped against a pool or took someone else\u0026#x27;s resting order, LAUNCHPAD for a bonding curve. venues may be empty. Fields with no value are sent as null. Pages are ordered by blockTime then txHash (order, default desc); pass nextCursor back as cursor for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different computedAt values; the cursor stays valid. Filters: limit (1 to 500, default 100), from and to (unix seconds, inclusive), unit (policy id + asset name hex), venue (a DEX name or SOLADA), side (BUY or SELL); order, venue and side are case-insensitive. An invalid parameter is a 400 whose errorCode is INVALID_STAKE_ADDRESS, INVALID_CURSOR, INVALID_LIMIT, UNKNOWN_VENUE, INVALID_PARAMETER, or BAD_REQUEST for a non-numeric limit, from or to. Every response carries a coverage object whose excludes lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 WALLET_TOO_LARGE; retrying does not help. The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet\u0026#x27;s state and retryAfterSeconds) and a Retry-After header, with no P\u0026amp;L or history numbers. Call again after Retry-After seconds.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://adlabsltd.mintlify.site/docs/_mintlify/api/og/v2?division=Cardano+Market+Data\u0026amp;title=Wallet+trade+history\u0026amp;description=Executed+trades+of+one+token+against+ADA%2C+taken+from+the+wallet%27s+own+ADA+flow%2C+one+row+per+wallet+transaction.+Every+listed+trade+is+one+the+P%26L+prices.+The+P%26\u0026amp;theme=4c64eb9af7e1d83b0696be36\u0026amp;signature=733f3145ee97fef4f703b70eafdce6c07da49d9658713885ad31d3a2364e5fcb\">\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=\"/docs/mintlify-assets/_mintlify/favicons/adlabsltd/wMrFtJiXPkGWH8g5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Gero Nexus Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00A8C8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/cardano-market-data/wallet-trade-history.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://nexus.gerowallet.io/#organization\",\"name\":\"Gero Nexus Documentation\",\"url\":\"https://nexus.gerowallet.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/adlabsltd/w_bfGubiiWLvoDAl/logo/nexus.svg?fit=max\u0026auto=format\u0026n=w_bfGubiiWLvoDAl\u0026q=85\u0026s=66273e235814fbb6e81110142d8599b9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://nexus.gerowallet.io/docs#website\",\"name\":\"Gero Nexus Documentation\",\"url\":\"https://nexus.gerowallet.io/docs\",\"publisher\":{\"@id\":\"https://nexus.gerowallet.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history#webpage\",\"url\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history\",\"name\":\"Wallet trade history\",\"description\":\"Executed trades of one token against ADA, taken from the wallet's own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026L prices. The P\u0026L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet's stake key), which are not listed, so totals summed from this list can be lower than the P\u0026L's and cannot reproduce them. Mainnet only: stakeAddress is a lower-case stake1... address, checksum checked. Amounts are the wallet's own net flow, as strings: priceAda is the all-in price per whole token with fees included (per raw unit when decimals is 0 because it is unknown), marketPriceAda the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). status is always EXECUTED. kind is ORDER_FILL when the wallet's own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), DIRECT_SWAP when its own transaction swapped against a pool or took someone else's resting order, LAUNCHPAD for a bonding curve. venues may be empty. Fields with no value are sent as null. Pages are ordered by blockTime then txHash (order, default desc); pass nextCursor back as cursor for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different computedAt values; the cursor stays valid. Filters: limit (1 to 500, default 100), from and to (unix seconds, inclusive), unit (policy id + asset name hex), venue (a DEX name or SOLADA), side (BUY or SELL); order, venue and side are case-insensitive. An invalid parameter is a 400 whose errorCode is INVALID_STAKE_ADDRESS, INVALID_CURSOR, INVALID_LIMIT, UNKNOWN_VENUE, INVALID_PARAMETER, or BAD_REQUEST for a non-numeric limit, from or to. Every response carries a coverage object whose excludes lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 WALLET_TOO_LARGE; retrying does not help. The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet's state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.\",\"dateModified\":\"2026-11-11T21:57:51.973Z\",\"isPartOf\":{\"@id\":\"https://nexus.gerowallet.io/docs#website\"},\"breadcrumb\":{\"@id\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-%C2%B7-accounts/list-the-addresses-under-a-cardano-stake-account\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cardano Market Data\",\"item\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/list-registered-dapp-blueprints\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wallet trade history\",\"item\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history#apireference\",\"headline\":\"Wallet trade history\",\"name\":\"Wallet trade history\",\"description\":\"Executed trades of one token against ADA, taken from the wallet's own ADA flow, one row per wallet transaction. Every listed trade is one the P\u0026L prices. The P\u0026L additionally prices fills it finds through the swap index (for example orders placed from an address without the wallet's stake key), which are not listed, so totals summed from this list can be lower than the P\u0026L's and cannot reproduce them. Mainnet only: stakeAddress is a lower-case stake1... address, checksum checked. Amounts are the wallet's own net flow, as strings: priceAda is the all-in price per whole token with fees included (per raw unit when decimals is 0 because it is unknown), marketPriceAda the pool-side price of the executed swap, on a split route that of the largest leg (null when none is indexed). status is always EXECUTED. kind is ORDER_FILL when the wallet's own order at a known DEX order script was filled (only then are the order fields set: the transaction that created the order UTxO the fill spent, the placement or the previous partial fill), DIRECT_SWAP when its own transaction swapped against a pool or took someone else's resting order, LAUNCHPAD for a bonding curve. venues may be empty. Fields with no value are sent as null. Pages are ordered by blockTime then txHash (order, default desc); pass nextCursor back as cursor for the next page; it is null on the last page. The list is computed per wallet and kept for up to 30 minutes on each server instance, so pages may carry different computedAt values; the cursor stays valid. Filters: limit (1 to 500, default 100), from and to (unix seconds, inclusive), unit (policy id + asset name hex), venue (a DEX name or SOLADA), side (BUY or SELL); order, venue and side are case-insensitive. An invalid parameter is a 400 whose errorCode is INVALID_STAKE_ADDRESS, INVALID_CURSOR, INVALID_LIMIT, UNKNOWN_VENUE, INVALID_PARAMETER, or BAD_REQUEST for a non-numeric limit, from or to. Every response carries a coverage object whose excludes lists, by code, each kind of trade that is not in the list (token-to-token swaps, order fills whose order address carries no user stake key, payouts to another stake key, multi-token transactions, snek.fun bonding-curve trades, direct pool swaps before 2025-01-01, open and cancelled orders, LP tokens). A wallet holding more than 50,000 indexed UTxOs answers 422 WALLET_TOO_LARGE; retrying does not help. The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet's state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.\",\"url\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history\",\"mainEntityOfPage\":{\"@id\":\"https://nexus.gerowallet.io/docs/api-reference/cardano-market-data/wallet-trade-history#webpage\"},\"dateModified\":\"2026-11-11T21:57:51.973Z\",\"publisher\":{\"@id\":\"https://nexus.gerowallet.io/#organization\"},\"isPartOf\":{\"@id\":\"https://nexus.gerowallet.io/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Gero Nexus Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Gero Nexus Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/api-reference/cardano-market-data/wallet-trade-history.md","siteName":"Gero Nexus Documentation","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Welcome to Gero Nexus","href":"/introduction"},{"title":"Quick Start","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Blockfrost Compatibility","href":"/blockfrost-compatibility"},{"title":"Changelog","href":"/changelog"}]},{"group":"Migrations","pages":[{"title":"Migrate from Maestro: Cardano","href":"/maestro-migration-cardano"},{"title":"Migrate from Maestro: Bitcoin","href":"/maestro-migration-bitcoin"}]},{"group":"Core Concepts","pages":[{"title":"Rate Limits","href":"/concepts/rate-limits"},{"title":"Error Handling","href":"/concepts/error-handling"},{"title":"Pagination","href":"/concepts/pagination"}]},{"group":"Add-ons \u0026 Streaming","pages":[{"title":"Add-ons \u0026 Streaming","href":"/addons/overview"},{"title":"Market Data","href":"/addons/market-data"},{"title":"Wallet Analytics","href":"/addons/wallet-analytics"},{"title":"Transaction Builder","href":"/addons/transaction-builder"},{"title":"DEX Aggregator","href":"/addons/aggregator"},{"title":"Market page","href":"/addons/market-page"},{"title":"MCP Server","href":"/addons/mcp-server"},{"title":"WebSocket Streaming","href":"/addons/websockets"}]},{"group":"API Reference","pages":[{"group":"Cardano \u0026 Apex","pages":[{"group":"Accounts","pages":[{"title":"List the addresses under a Cardano stake account","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/addresses","href":"/api-reference/cardano-·-accounts/list-the-addresses-under-a-cardano-stake-account"},{"title":"Get a Cardano stake account balance and delegation","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/info","href":"/api-reference/cardano-·-accounts/get-a-cardano-stake-account-balance-and-delegation"},{"title":"Get staking rewards for a stake account","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/rewards","href":"/api-reference/cardano-·-accounts/get-staking-rewards-for-a-stake-account"},{"title":"List transactions for a Cardano stake account","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/txs","href":"/api-reference/cardano-·-accounts/list-transactions-for-a-cardano-stake-account"},{"title":"Get all UTxOs for a Cardano stake account","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/utxos","href":"/api-reference/cardano-·-accounts/get-all-utxos-for-a-cardano-stake-account"},{"title":"List the native assets held by a stake account","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/assets","href":"/api-reference/cardano-·-accounts/list-the-native-assets-held-by-a-stake-account"},{"title":"Get the delegation history of a stake account","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/delegations","href":"/api-reference/cardano-·-accounts/get-the-delegation-history-of-a-stake-account"},{"title":"Get a stake account balance by epoch","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/history","href":"/api-reference/cardano-·-accounts/get-a-stake-account-balance-by-epoch"},{"title":"Get stake key registration and deregistration history","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/account/{stakeAddress}/updates","href":"/api-reference/cardano-·-accounts/get-stake-key-registration-and-deregistration-history"}]},{"group":"Addresses","pages":[{"title":"List transaction hashes for a Cardano address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/transactions/{address}","href":"/api-reference/cardano-·-addresses/list-transaction-hashes-for-a-cardano-address"},{"title":"Get the balance and assets of a Cardano address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/{address}","href":"/api-reference/cardano-·-addresses/get-the-balance-and-assets-of-a-cardano-address"},{"title":"Get full transaction history for a Cardano address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/{address}/transactions/history","href":"/api-reference/cardano-·-addresses/get-full-transaction-history-for-a-cardano-address"},{"title":"Get all UTxOs for a Cardano address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/{address}/utxos","href":"/api-reference/cardano-·-addresses/get-all-utxos-for-a-cardano-address"},{"title":"Get the UTxOs of an address holding a specific asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/{address}/utxos/{asset}","href":"/api-reference/cardano-·-addresses/get-the-utxos-of-an-address-holding-a-specific-asset"},{"title":"Get the balance of a payment credential","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/cred/{credential}/balance","href":"/api-reference/cardano-·-addresses/get-the-balance-of-a-payment-credential"},{"title":"List transactions for a payment credential","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/cred/{credential}/transactions","href":"/api-reference/cardano-·-addresses/list-transactions-for-a-payment-credential"},{"title":"Get all UTxOs for a payment credential","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/cred/{credential}/utxos","href":"/api-reference/cardano-·-addresses/get-all-utxos-for-a-payment-credential"},{"title":"Decode a Cardano address into its credentials","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/decode/{address}","href":"/api-reference/cardano-·-addresses/decode-a-cardano-address-into-its-credentials"},{"title":"List transactions for an address in a slot range","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/{address}/transactions/by-slot","href":"/api-reference/cardano-·-addresses/list-transactions-for-an-address-in-a-slot-range"},{"title":"Count the transactions of a Cardano address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/addresses/{address}/transactions/count","href":"/api-reference/cardano-·-addresses/count-the-transactions-of-a-cardano-address"},{"title":"List transactions for many payment credentials in one call","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/addresses/cred/transactions","href":"/api-reference/cardano-·-addresses/list-transactions-for-many-payment-credentials-in-one-call"},{"title":"Get UTxOs for many payment credentials in one call","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/addresses/cred/utxos","href":"/api-reference/cardano-·-addresses/get-utxos-for-many-payment-credentials-in-one-call"},{"title":"Get UTxOs for many Cardano addresses in one call","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/addresses/utxos","href":"/api-reference/cardano-·-addresses/get-utxos-for-many-cardano-addresses-in-one-call"}]},{"group":"Assets","pages":[{"title":"List blacklisted policy IDs","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/blacklist","href":"/api-reference/cardano-·-assets/list-blacklisted-policy-ids"},{"title":"Get metadata and supply for a Cardano native asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/detailedInfo","href":"/api-reference/cardano-·-assets/get-metadata-and-supply-for-a-cardano-native-asset"},{"title":"Find the address that holds an NFT","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/nft-address","href":"/api-reference/cardano-·-assets/find-the-address-that-holds-an-nft"},{"title":"List the stake accounts holding a native asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/{unit}/accounts","href":"/api-reference/cardano-·-assets/list-the-stake-accounts-holding-a-native-asset"},{"title":"List the holders of a Cardano native asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/{unit}/holders","href":"/api-reference/cardano-·-assets/list-the-holders-of-a-cardano-native-asset"},{"title":"Get the mint and burn history of a native asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/{unit}/mints","href":"/api-reference/cardano-·-assets/get-the-mint-and-burn-history-of-a-native-asset"},{"title":"List transactions that moved a native asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/{unit}/transactions","href":"/api-reference/cardano-·-assets/list-transactions-that-moved-a-native-asset"},{"title":"Get all UTxOs holding a Cardano native asset","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/assets/{unit}/utxos","href":"/api-reference/cardano-·-assets/get-all-utxos-holding-a-cardano-native-asset"},{"title":"Get the metadata of many native assets in one call","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/assets/metadata","href":"/api-reference/cardano-·-assets/get-the-metadata-of-many-native-assets-in-one-call"},{"title":"Look up token registry metadata for many assets","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/assets/registry-metadata","href":"/api-reference/cardano-·-assets/look-up-token-registry-metadata-for-many-assets"}]},{"group":"Blocks","pages":[{"title":"List recent Cardano blocks","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/blocks","href":"/api-reference/cardano-·-blocks/list-recent-cardano-blocks"},{"title":"Get the latest Cardano block","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/blocks/latest","href":"/api-reference/cardano-·-blocks/get-the-latest-cardano-block"},{"title":"Get a Cardano block by hash","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/blocks/{hash}","href":"/api-reference/cardano-·-blocks/get-a-cardano-block-by-hash"}]},{"group":"DReps","pages":[{"title":"List Cardano DReps by voting power","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dreps","href":"/api-reference/cardano-·-dreps/list-cardano-dreps-by-voting-power"},{"title":"Get a Cardano DRep and its metadata","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dreps/{drepId}","href":"/api-reference/cardano-·-dreps/get-a-cardano-drep-and-its-metadata"},{"title":"List the accounts delegating to a DRep","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dreps/{drepId}/delegators","href":"/api-reference/cardano-·-dreps/list-the-accounts-delegating-to-a-drep"}]},{"group":"Epochs","pages":[{"title":"Get the current Cardano epoch","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/epoch/latest","href":"/api-reference/cardano-·-epochs/get-the-current-cardano-epoch"},{"title":"Get the current Cardano protocol parameters","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/epoch/latest/parameters","href":"/api-reference/cardano-·-epochs/get-the-current-cardano-protocol-parameters"},{"title":"Get protocol parameters for a Cardano epoch","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/epoch/params","href":"/api-reference/cardano-·-epochs/get-protocol-parameters-for-a-cardano-epoch"},{"title":"Get a Cardano epoch by number","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/epoch/{epochNo}","href":"/api-reference/cardano-·-epochs/get-a-cardano-epoch-by-number"}]},{"group":"Network","pages":[{"title":"Get Cardano network info and supply","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/network/info","href":"/api-reference/cardano-·-network/get-cardano-network-info-and-supply"},{"title":"Get Cardano era summaries for slot-to-time math","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/network/era-summaries","href":"/api-reference/cardano-·-network/get-cardano-era-summaries-for-slot-to-time-math"},{"title":"Get the Cardano network system start time","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/network/system-start","href":"/api-reference/cardano-·-network/get-the-cardano-network-system-start-time"}]},{"group":"Stake Pools","pages":[{"title":"List and search Cardano stake pools","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools","href":"/api-reference/cardano-·-stake-pools/list-and-search-cardano-stake-pools"},{"title":"List stake pool registrations","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/registrations","href":"/api-reference/cardano-·-stake-pools/list-stake-pool-registrations"},{"title":"List stake pool registrations in an epoch","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/registrations/{epoch}","href":"/api-reference/cardano-·-stake-pools/list-stake-pool-registrations-in-an-epoch"},{"title":"List stake pool retirements","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/retirements","href":"/api-reference/cardano-·-stake-pools/list-stake-pool-retirements"},{"title":"List stake pools retiring in an epoch","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/retiring/{epoch}","href":"/api-reference/cardano-·-stake-pools/list-stake-pools-retiring-in-an-epoch"},{"title":"Get a Cardano stake pool by pool ID","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/{id}","href":"/api-reference/cardano-·-stake-pools/get-a-cardano-stake-pool-by-pool-id"},{"title":"Get stake pool statistics for an epoch","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/{poolId}/epochs/{epoch}","href":"/api-reference/cardano-·-stake-pools/get-stake-pool-statistics-for-an-epoch"},{"title":"Get the epoch-by-epoch history of a stake pool","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/{poolId}/history","href":"/api-reference/cardano-·-stake-pools/get-the-epoch-by-epoch-history-of-a-stake-pool"},{"title":"List the accounts delegating to a stake pool","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/pools/{poolId}/delegators","href":"/api-reference/cardano-·-stake-pools/list-the-accounts-delegating-to-a-stake-pool"}]},{"group":"Transactions","pages":[{"title":"Get raw CBOR for many Cardano transactions in one call","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/transactions/cbor","href":"/api-reference/cardano-·-transactions/get-raw-cbor-for-many-cardano-transactions-in-one-call"},{"title":"Submit a Cardano transaction as raw CBOR bytes","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/transactions/submit","href":"/api-reference/cardano-·-transactions/submit-a-cardano-transaction-as-raw-cbor-bytes"},{"title":"Evaluate the script execution units of a transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/transactions/evaluate","href":"/api-reference/cardano-·-transactions/evaluate-the-script-execution-units-of-a-transaction"},{"title":"Resolve UTxOs by transaction hash and output index","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/transactions/utxos","href":"/api-reference/cardano-·-transactions/resolve-utxos-by-transaction-hash-and-output-index"},{"title":"Get a Cardano transaction by hash","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/transactions/{txHash}","href":"/api-reference/cardano-·-transactions/get-a-cardano-transaction-by-hash"},{"title":"Get the raw CBOR of a Cardano transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/transactions/{txHash}/cbor","href":"/api-reference/cardano-·-transactions/get-the-raw-cbor-of-a-cardano-transaction"},{"title":"Get the inputs and outputs of a Cardano transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/transactions/{txHash}/utxos","href":"/api-reference/cardano-·-transactions/get-the-inputs-and-outputs-of-a-cardano-transaction"},{"title":"Get the metadata of a Cardano transaction as JSON","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/transactions/{txHash}/metadata","href":"/api-reference/cardano-·-transactions/get-the-metadata-of-a-cardano-transaction-as-json"},{"title":"Get the metadata of a Cardano transaction as CBOR","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/transactions/{txHash}/metadata/cbor","href":"/api-reference/cardano-·-transactions/get-the-metadata-of-a-cardano-transaction-as-cbor"}]},{"group":"Scripts","pages":[{"title":"Get a Cardano script by hash","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/scripts/{scriptHash}","href":"/api-reference/cardano-·-scripts/get-a-cardano-script-by-hash"},{"title":"Get a Plutus datum by hash","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/scripts/datum/{datumHash}","href":"/api-reference/cardano-·-scripts/get-a-plutus-datum-by-hash"},{"title":"Get many Plutus datums by hash in one call","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/scripts/datums","href":"/api-reference/cardano-·-scripts/get-many-plutus-datums-by-hash-in-one-call"}]},{"group":"Policy","pages":[{"title":"List stake accounts holding assets of a policy","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/accounts","href":"/api-reference/cardano-·-policy/list-stake-accounts-holding-assets-of-a-policy"},{"title":"List addresses holding assets of a policy","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/addresses","href":"/api-reference/cardano-·-policy/list-addresses-holding-assets-of-a-policy"},{"title":"List all assets under a Cardano policy ID","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/assets","href":"/api-reference/cardano-·-policy/list-all-assets-under-a-cardano-policy-id"},{"title":"Get the mint and burn history of a policy","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/mints","href":"/api-reference/cardano-·-policy/get-the-mint-and-burn-history-of-a-policy"},{"title":"List transactions involving a policy","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/transactions","href":"/api-reference/cardano-·-policy/list-transactions-involving-a-policy"},{"title":"Get all UTxOs holding assets of a policy","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/utxos","href":"/api-reference/cardano-·-policy/get-all-utxos-holding-assets-of-a-policy"}]},{"group":"Metadata","pages":[{"title":"List transaction metadata labels in use","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/metadata/txs/labels","href":"/api-reference/cardano-·-metadata/list-transaction-metadata-labels-in-use"},{"title":"Get transaction metadata by label as JSON","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/metadata/txs/labels/{label}","href":"/api-reference/cardano-·-metadata/get-transaction-metadata-by-label-as-json"},{"title":"Get transaction metadata by label as CBOR","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/metadata/txs/labels/{label}/cbor","href":"/api-reference/cardano-·-metadata/get-transaction-metadata-by-label-as-cbor"}]},{"group":"Handles","pages":[{"title":"Resolve an ADA Handle to an address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/handles/{handle}","href":"/api-reference/cardano-·-handles/resolve-an-ada-handle-to-an-address"}]},{"group":"Governance","pages":[{"title":"Get the Cardano constitutional committee","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/committee","href":"/api-reference/cardano-·-governance/get-the-cardano-constitutional-committee"},{"title":"Get the current Cardano constitution","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/constitution","href":"/api-reference/cardano-·-governance/get-the-current-cardano-constitution"},{"title":"Search Cardano DReps with metadata filters","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/dreps","href":"/api-reference/cardano-·-governance/search-cardano-dreps-with-metadata-filters"},{"title":"Get a DRep with governance activity","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/dreps/{drepId}","href":"/api-reference/cardano-·-governance/get-a-drep-with-governance-activity"},{"title":"List delegators of a DRep with governance context","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/dreps/{drepId}/delegators","href":"/api-reference/cardano-·-governance/list-delegators-of-a-drep-with-governance-context"},{"title":"Query the votes cast by a Cardano DRep","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/dreps/{drepId}/votes","href":"/api-reference/cardano-·-governance/query-the-votes-cast-by-a-cardano-drep"},{"title":"List Cardano governance actions and proposals","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/proposals","href":"/api-reference/cardano-·-governance/list-cardano-governance-actions-and-proposals"},{"title":"Get a Cardano governance action by ID","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/proposals/{govActionId}","href":"/api-reference/cardano-·-governance/get-a-cardano-governance-action-by-id"},{"title":"List the votes on a Cardano governance action","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/proposals/{govActionId}/votes","href":"/api-reference/cardano-·-governance/list-the-votes-on-a-cardano-governance-action"},{"title":"Get the vote tally for a governance action","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/governance/proposals/{govActionId}/voting-summary","href":"/api-reference/cardano-·-governance/get-the-vote-tally-for-a-governance-action"}]},{"group":"Transaction Builder","pages":[{"title":"Build an unsigned Cardano transfer transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/build","href":"/api-reference/cardano-·-transaction-builder/build-an-unsigned-cardano-transfer-transaction"},{"title":"Build an unsigned stake delegation transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/build/delegation","href":"/api-reference/cardano-·-transaction-builder/build-an-unsigned-stake-delegation-transaction"},{"title":"Build an unsigned DRep registration transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/build/drep-registration","href":"/api-reference/cardano-·-transaction-builder/build-an-unsigned-drep-registration-transaction"},{"title":"Build an unsigned stake key registration transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/build/stake-registration","href":"/api-reference/cardano-·-transaction-builder/build-an-unsigned-stake-key-registration-transaction"},{"title":"Build an unsigned vote delegation transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/build/vote-delegation","href":"/api-reference/cardano-·-transaction-builder/build-an-unsigned-vote-delegation-transaction"},{"title":"Build an unsigned reward withdrawal transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/build/withdrawal","href":"/api-reference/cardano-·-transaction-builder/build-an-unsigned-reward-withdrawal-transaction"},{"title":"Calculate the maximum ADA an address can send","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/tx/max-ada","href":"/api-reference/cardano-·-transaction-builder/calculate-the-maximum-ada-an-address-can-send"}]}]},{"group":"Bitcoin","pages":[{"group":"Addresses","pages":[{"title":"Get address statistics (chain + mempool)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}","href":"/api-reference/bitcoin-·-addresses/get-address-statistics-chain-+-mempool"},{"title":"Get confirmed satoshi balance for address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}/balance","href":"/api-reference/bitcoin-·-addresses/get-confirmed-satoshi-balance-for-address"},{"title":"Get inscription IDs + rune balances held at a Bitcoin address (ord indexer)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}/ordinals","href":"/api-reference/bitcoin-·-addresses/get-inscription-ids-+-rune-balances-held-at-a-bitcoin-address-ord-indexer"},{"title":"Get unspent outputs for address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}/utxos","href":"/api-reference/bitcoin-·-addresses/get-unspent-outputs-for-address"},{"title":"Get inscriptions held at address, with UTXO context","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}/inscriptions","href":"/api-reference/bitcoin-·-addresses/get-inscriptions-held-at-address-with-utxo-context"},{"title":"Get confirmed transaction history for address","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}/txs","href":"/api-reference/bitcoin-·-addresses/get-confirmed-transaction-history-for-address"},{"title":"Get unspent outputs for address, paged","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/addresses/{address}/utxos/page","href":"/api-reference/bitcoin-·-addresses/get-unspent-outputs-for-address-paged"}]},{"group":"Blocks","pages":[{"title":"Get most recent N blocks (descending height)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/blocks","href":"/api-reference/bitcoin-·-blocks/get-most-recent-n-blocks-descending-height"},{"title":"Get block by hash or height","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/blocks/{idOrHeight}","href":"/api-reference/bitcoin-·-blocks/get-block-by-hash-or-height"}]},{"group":"Chain","pages":[{"title":"Get latest block","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/chain/latest-block","href":"/api-reference/bitcoin-·-chain/get-latest-block"},{"title":"Get chain tip","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/chain/tip","href":"/api-reference/bitcoin-·-chain/get-chain-tip"}]},{"group":"Fees","pages":[{"title":"Get fee-rate estimates (sat/vB) keyed by target block count","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/fees","href":"/api-reference/bitcoin-·-fees/get-fee-rate-estimates-satvb-keyed-by-target-block-count"}]},{"group":"Mempool","pages":[{"title":"Get current mempool snapshot (count, vsize, fee histogram)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/mempool","href":"/api-reference/bitcoin-·-mempool/get-current-mempool-snapshot-count-vsize-fee-histogram"}]},{"group":"Ordinals","pages":[{"title":"Get inscription metadata by inscription ID","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/ordinals/inscriptions/{id}","href":"/api-reference/bitcoin-·-ordinals/get-inscription-metadata-by-inscription-id"},{"title":"Get inscription IDs + rune balances carried by a UTxO outpoint","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/ordinals/outputs/{outpoint}","href":"/api-reference/bitcoin-·-ordinals/get-inscription-ids-+-rune-balances-carried-by-a-utxo-outpoint"},{"title":"Get rune metadata by ID (block:tx) or spaced rune name","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/ordinals/runes/{rune}","href":"/api-reference/bitcoin-·-ordinals/get-rune-metadata-by-id-block:tx-or-spaced-rune-name"},{"title":"Bulk: inscription IDs + rune balances for up to 250 outpoints","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/btc/ordinals/outputs","href":"/api-reference/bitcoin-·-ordinals/bulk:-inscription-ids-+-rune-balances-for-up-to-250-outpoints"}]},{"group":"Transactions","pages":[{"title":"Submit a signed transaction (sendrawtransaction)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/btc/txs/submit","href":"/api-reference/bitcoin-·-transactions/submit-a-signed-transaction-sendrawtransaction"},{"title":"Get transaction by txid","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/txs/{txid}","href":"/api-reference/bitcoin-·-transactions/get-transaction-by-txid"},{"title":"Get raw transaction hex by txid","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/btc/txs/{txid}/hex","href":"/api-reference/bitcoin-·-transactions/get-raw-transaction-hex-by-txid"},{"title":"Batch: get up to 250 transactions by txid","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/btc/txs/batch","href":"/api-reference/bitcoin-·-transactions/batch:-get-up-to-250-transactions-by-txid"}]}]},{"group":"Midnight","pages":[{"group":"Transactions","pages":[{"title":"Get network info","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/midnight/{network}/info","href":"/api-reference/midnight-·-transactions/get-network-info"},{"title":"Get transaction UTXOs","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/midnight/{network}/transactions/{txHash}/utxos","href":"/api-reference/midnight-·-transactions/get-transaction-utxos"},{"title":"Build an unshielded transfer","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/tx/build-unshielded","href":"/api-reference/midnight-·-transactions/build-an-unshielded-transfer"},{"title":"Prove and submit a shielded transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/tx/prove-and-submit","href":"/api-reference/midnight-·-transactions/prove-and-submit-a-shielded-transaction"},{"title":"Submit a signed transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/tx/submit","href":"/api-reference/midnight-·-transactions/submit-a-signed-transaction"},{"title":"Submit an already-proven transaction","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/tx/submit-proven","href":"/api-reference/midnight-·-transactions/submit-an-already-proven-transaction"}]},{"group":"DUST","pages":[{"title":"Get DUST account state","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/midnight/{network}/dust/account-state/{address}","href":"/api-reference/midnight-·-dust/get-dust-account-state"},{"title":"Build the DUST deregistration tx (Cardano)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/dust/build-deregistration-tx","href":"/api-reference/midnight-·-dust/build-the-dust-deregistration-tx-cardano"},{"title":"Build the DUST registration tx (native)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/dust/build-night-registration","href":"/api-reference/midnight-·-dust/build-the-dust-registration-tx-native"},{"title":"Build the DUST registration tx (Cardano)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/dust/build-registration-tx","href":"/api-reference/midnight-·-dust/build-the-dust-registration-tx-cardano"},{"title":"Build the DUST mapping update tx (Cardano)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/dust/build-update-tx","href":"/api-reference/midnight-·-dust/build-the-dust-mapping-update-tx-cardano"},{"title":"List live DUST registrations","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/midnight/{network}/dust/registrations","href":"/api-reference/midnight-·-dust/list-live-dust-registrations"},{"title":"Get DUST state snapshot","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/midnight/{network}/dust/state-snapshot","href":"/api-reference/midnight-·-dust/get-dust-state-snapshot"},{"title":"Get DUST registration status","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/midnight/{network}/dust/status","href":"/api-reference/midnight-·-dust/get-dust-registration-status"},{"title":"Get DUST registration status (batch)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/dust/status/batch","href":"/api-reference/midnight-·-dust/get-dust-registration-status-batch"},{"title":"Submit the DUST registration tx (native)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/dust/submit-night-registration","href":"/api-reference/midnight-·-dust/submit-the-dust-registration-tx-native"}]},{"group":"Indexer","pages":[{"title":"Forward a GraphQL query to the Midnight indexer","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/midnight/{network}/indexer/graphql","href":"/api-reference/midnight-·-indexer/forward-a-graphql-query-to-the-midnight-indexer"}]}]},{"group":"Cardano Market Data","pages":[{"title":"List registered DApp blueprints","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/blueprints","href":"/api-reference/cardano-market-data/list-registered-dapp-blueprints"},{"title":"Register a new blueprint","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/blueprints","href":"/api-reference/cardano-market-data/register-a-new-blueprint"},{"title":"Unregister a blueprint","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs delete /api/blueprints/{id}","href":"/api-reference/cardano-market-data/unregister-a-blueprint"},{"title":"Retrieve a specific blueprint","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/blueprints/{id}","href":"/api-reference/cardano-market-data/retrieve-a-specific-blueprint"},{"title":"Query persisted blueprint events","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/blueprints/{id}/events","href":"/api-reference/cardano-market-data/query-persisted-blueprint-events"},{"title":"Real limit order book for a pool","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/orderbook/{poolId}","href":"/api-reference/cardano-market-data/real-limit-order-book-for-a-pool"},{"title":"AMM-simulated order book for a pool","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/orderbook/{poolId}/simulated","href":"/api-reference/cardano-market-data/amm-simulated-order-book-for-a-pool"},{"title":"Orders filtered by DEX","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/orders/dex/{dex}","href":"/api-reference/cardano-market-data/orders-filtered-by-dex"},{"title":"Orders by owner pkh","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/orders/owner/{pkh}","href":"/api-reference/cardano-market-data/orders-by-owner-pkh"},{"title":"Orders by token","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/orders/token/{policyId}/{assetName}","href":"/api-reference/cardano-market-data/orders-by-token"},{"title":"Order details by tx output","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/orders/{txHash}/{outputIndex}","href":"/api-reference/cardano-market-data/order-details-by-tx-output"},{"title":"All liquidity pools","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/pools","href":"/api-reference/cardano-market-data/all-liquidity-pools"},{"title":"Pools filtered by DEX platform","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/pools/dex/{dex}","href":"/api-reference/cardano-market-data/pools-filtered-by-dex-platform"},{"title":"Pools for a token pair","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/pools/pair","href":"/api-reference/cardano-market-data/pools-for-a-token-pair"},{"title":"Pools containing a token","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/pools/token/{policyId}/{assetName}","href":"/api-reference/cardano-market-data/pools-containing-a-token"},{"title":"Highest TVL pools","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/pools/top-tvl","href":"/api-reference/cardano-market-data/highest-tvl-pools"},{"title":"Specific pool details","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/pools/{poolId}","href":"/api-reference/cardano-market-data/specific-pool-details"},{"title":"Token amount for an ADA purchase","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/quote/buy","href":"/api-reference/cardano-market-data/token-amount-for-an-ada-purchase"},{"title":"ADA received for a token sale","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/quote/sell","href":"/api-reference/cardano-market-data/ada-received-for-a-token-sale"},{"title":"Recent global swaps","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/swaps/recent","href":"/api-reference/cardano-market-data/recent-global-swaps"},{"title":"Token swap history","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/swaps/token/{policyId}/{assetName}","href":"/api-reference/cardano-market-data/token-swap-history"},{"title":"Most active traders for a token","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/dex/tokens/{policyId}/{assetName}/top-traders","href":"/api-reference/cardano-market-data/most-active-traders-for-a-token"},{"title":"Wallets ranked by LP TVL","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/leaderboard","href":"/api-reference/cardano-market-data/wallets-ranked-by-lp-tvl"},{"title":"Aggregate leaderboard statistics","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/leaderboard/stats","href":"/api-reference/cardano-market-data/aggregate-leaderboard-statistics"},{"title":"Current ADA/USD market info","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/ada","href":"/api-reference/cardano-market-data/current-adausd-market-info"},{"title":"Historical price data for a token","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/history/{assetId}","href":"/api-reference/cardano-market-data/historical-price-data-for-a-token"},{"title":"Token price at a specific timestamp","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/history/{assetId}/at","href":"/api-reference/cardano-market-data/token-price-at-a-specific-timestamp"},{"title":"All current token prices","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/prices","href":"/api-reference/cardano-market-data/all-current-token-prices"},{"title":"Highest TVL tokens","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/prices/top-tvl","href":"/api-reference/cardano-market-data/highest-tvl-tokens"},{"title":"Highest 24h volume tokens","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/prices/top-volume","href":"/api-reference/cardano-market-data/highest-24h-volume-tokens"},{"title":"Single token price","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/prices/{assetId}","href":"/api-reference/cardano-market-data/single-token-price"},{"title":"Token price across all DEXes","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/prices/{assetId}/all","href":"/api-reference/cardano-market-data/token-price-across-all-dexes"},{"title":"snek.fun launchpad tokens","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/snekfun","href":"/api-reference/cardano-market-data/snekfun-launchpad-tokens"},{"title":"Solada launchpad tokens","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/solada","href":"/api-reference/cardano-market-data/solada-launchpad-tokens"},{"title":"List tracked asset identifiers","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/tokens","href":"/api-reference/cardano-market-data/list-tracked-asset-identifiers"},{"title":"Token metadata","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/market/tokens/{assetId}/metadata","href":"/api-reference/cardano-market-data/token-metadata"},{"title":"Individual NFT last sale price","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/nft/asset/{policyId}/{assetName}/price","href":"/api-reference/cardano-market-data/individual-nft-last-sale-price"},{"title":"Collection statistics","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/nft/collection/{policyId}","href":"/api-reference/cardano-market-data/collection-statistics"},{"title":"Collection floor price","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/nft/collection/{policyId}/floor","href":"/api-reference/cardano-market-data/collection-floor-price"},{"title":"Recent collection sales","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/nft/collection/{policyId}/sales","href":"/api-reference/cardano-market-data/recent-collection-sales"},{"title":"List tracked NFT collections","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/nft/collections","href":"/api-reference/cardano-market-data/list-tracked-nft-collections"},{"title":"ADA/fiat historical candles","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/prices/ada/candles","href":"/api-reference/cardano-market-data/adafiat-historical-candles"},{"title":"OHLCV candles for tokens","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/prices/historical/candles","href":"/api-reference/cardano-market-data/ohlcv-candles-for-tokens"},{"title":"Latest token prices","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/prices/latest","href":"/api-reference/cardano-market-data/latest-token-prices"},{"title":"RSI(14) technical indicator","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/prices/rsi","href":"/api-reference/cardano-market-data/rsi14-technical-indicator"},{"title":"Indexer synchronization status","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/sync/status","href":"/api-reference/cardano-market-data/indexer-synchronization-status"},{"title":"Multi-wallet P\u0026L (FIFO)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/wallet/pnl","href":"/api-reference/cardano-market-data/multi-wallet-p\u0026l-fifo"},{"title":"Wallet value over time","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/wallet/{stakeAddress}/history","href":"/api-reference/cardano-market-data/wallet-value-over-time"},{"title":"Current wallet holdings","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/wallet/{stakeAddress}/holdings","href":"/api-reference/cardano-market-data/current-wallet-holdings"},{"title":"Single-wallet gains/losses","description":"The first call for a wallet starts fetching its full on-chain history. Until that finishes (seconds for most wallets, a few minutes for wallets with thousands of transactions) the answer is 202 Accepted with a PENDING body (each wallet's state and retryAfterSeconds) and a Retry-After header, with no P\u0026L or history numbers. Call again after Retry-After seconds.","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/wallet/{stakeAddress}/pnl","href":"/api-reference/cardano-market-data/single-wallet-gainslosses"},{"title":"Wallet trade history","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/wallet/{stakeAddress}/trades","href":"/api-reference/cardano-market-data/wallet-trade-history"},{"title":"Swap order status","description":"Order status: PENDING | SUBMITTED | CONFIRMED | FAILED | EXPIRED.","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/aggregator/status/{txHash}","href":"/api-reference/cardano-market-data/swap-order-status"},{"title":"Supported DEXes","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/aggregator/supported-dexes","href":"/api-reference/cardano-market-data/supported-dexes"},{"title":"Routable aggregator tokens","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/aggregator/tokens","href":"/api-reference/cardano-market-data/routable-aggregator-tokens"},{"title":"Best-Execution Swap Quote","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/aggregator/quote","href":"/api-reference/cardano-market-data/best-execution-swap-quote"},{"title":"All Swap Routes (override)","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/aggregator/quote/routes","href":"/api-reference/cardano-market-data/all-swap-routes-override"},{"title":"Exact-Out Swap Quote","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs post /api/aggregator/reverse-quote","href":"/api-reference/cardano-market-data/exact-out-swap-quote"}]},{"group":"IPFS","pages":[{"title":"Resolve IPFS content","openapi":"GET /api/ipfs","href":"/api-reference/ipfs/resolve"},{"title":"Stat IPFS object","openapi":"GET /api/ipfs/stat","href":"/api-reference/ipfs/stat"},{"title":"List IPFS directory","openapi":"GET /api/ipfs/ls","href":"/api-reference/ipfs/ls"},{"title":"Resolve IPNS name","openapi":"GET /api/ipfs/ipns","href":"/api-reference/ipfs/ipns"},{"title":"Pin IPFS content","openapi":"POST /api/ipfs/pin","href":"/api-reference/ipfs/pin"},{"title":"List IPFS pins","openapi":"GET /api/ipfs/pins","href":"/api-reference/ipfs/pins"},{"title":"Unpin IPFS content","openapi":"DELETE /api/ipfs/pin","href":"/api-reference/ipfs/unpin"}]},{"group":"Partner","pages":[{"title":"Widget branding for your partner key","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/aggregator/branding","href":"/api-reference/partner/widget-branding-for-your-partner-key"},{"title":"Your aggregator earnings","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/partner/earnings","href":"/api-reference/partner/your-aggregator-earnings"},{"title":"Your swaps, newest first","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/partner/swaps","href":"/api-reference/partner/your-swaps-newest-first"},{"title":"Your swap counter","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /api/partner/swaps/summary","href":"/api-reference/partner/your-swap-counter"}]},{"group":"MCP","pages":[{"title":"Get mcphealth","deprecated":null,"version":null,"openapi":"https://nexus.gerowallet.io/v3/api-docs get /mcp/health","href":"/api-reference/mcp-health-controller/get-mcphealth"}]}]}]},"basePath":"","title":"Wallet trade history - Gero Nexus Documentation","buildId":"dpl_6PxPD4Fj1JDU9BJxEHvfdUmxKThw","deploymentId":"dpl_6PxPD4Fj1JDU9BJxEHvfdUmxKThw","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CASS2Vpq.js","utils-4k9fyWRu.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-UU-UueZb.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BgJ0LOYq.js","snippetPresets-CMgzlMR-.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BzEJegkK.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CZuQIZdk.js","shallow-Bw5arfMA.js","getApiPlaygroundDisplay-Ds834aVN.js","CodeSnippet-CKzmjw9L.js","CodeSnippets-BRpgomdp.js","Page-DvEUoD2H.js","getPastedJson-B0N-Tn76.js","icon-DASMs9nC.js","MethodPill-BA6DBLqx.js","DuplicateIcon-BMT5qfbJ.js","createIcon-CNfwVWPx.js","DynamicMarkdown-JYyBNlrJ.js","SectionHeading-BbZnmz8a.js","axios-vUo_bRtp.js","Markdown-LUU0YLpA.js","clsx-Di4ek5Ae.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-VEVWQCR4.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CPszyu99.js"]}