List Node Transactions
Lists a node's on-chain transaction records, newest first, with pagination: contract deploys and upgrades, fee updates, KYC operations, withdrawals and the rest. Every asynchronous node operation writes one of these records; this is where you watch it reach Done or Error. To poll a single record use Get Node Transaction.
All filters are optional and can be combined.
Required permission: node:transactions:view
Request
GET /v2/admin/nodes/{node_id}/transactions
Parameters
| Name | Type | In | Description |
|---|---|---|---|
node_id | string | path | Required. The node's id |
wallet_id | string | query | Only transactions that ran on this custody wallet |
network_id | string | query | Only transactions that ran on this network |
types | integer | query | Only these transaction types (Transaction types). Repeat the parameter for several: types=1&types=29 |
internal_id | string | query | Only transactions about this record (for example a token) |
page | integer | query | Required. Page number, starting at 1 |
per_page | integer | query | Required. Items per page, 1–100 |
Headers
| Name | Description |
|---|---|
Authorization | Required. Bearer <access_token> |
Example
curl --request GET \
--url '{{baseUrl}}/v2/admin/nodes/6a4bef2b1e781b11c22e9707/transactions?types=1&wallet_id=6a53f3dfad48accdb46eaf9e&page=1&per_page=10' \
--header 'Authorization: Bearer <access_token>'
Response
{
"data": [
{
"id": "690279bcd09741a44611889c",
"node_id": "6a4bef2b1e781b11c22e9707",
"network_id": "6740e0a20000000000000101",
"wallet_id": "6a53f3dfad48accdb46eaf9e",
"user_id": "",
"internal_id": null,
"data": {
"address": "0x1493Ad169f118c260A8597bfe0A72f8262E9f4bA",
"amount": "1.5",
"currency_token_id": null,
"currency_token_name": "Ethereum",
"currency_token_symbol": "ETH"
},
"type": 1,
"status": 3,
"error": null,
"created_at": "2026-10-29T20:31:56.485Z"
},
{
"id": "69014d02bd0fb7ece2803763",
"node_id": "6a4bef2b1e781b11c22e9707",
"network_id": "6740e0a20000000000000101",
"wallet_id": "6a53f3dfad48accdb46eaf9e",
"setup_id": "6a552db09c6088e126a4be87",
"user_id": "",
"internal_id": null,
"data": {
"node_contract_id": "6a552db29c6088e126a4be88"
},
"type": 29,
"status": 3,
"error": null,
"created_at": "2026-10-28T23:08:50.414Z"
}
],
"total": 2,
"page": 1,
"per_page": 10
}
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | The transactions |
data[].id | string | Transaction id |
data[].node_id | string | The node the transaction belongs to |
data[].network_id | string | The network it runs on. 000000000000000000000000 on records that run on no network |
data[].wallet_id | string | The custody wallet it runs on. Omitted on node-level records |
data[].setup_id | string | The setup it targets (contract deploys, upgrades and setup fees). Omitted otherwise |
data[].user_id | string | Not populated for node transactions; always an empty string |
data[].internal_id | string | null | Id of the record the transaction is about (for example a token), when there is one |
data[].data | object | null | Type-specific details. A withdrawal carries address, amount (decimal string), currency_token_id, currency_token_name and currency_token_symbol; a contract deploy carries node_contract_id |
data[].type | integer | Transaction type, see Transaction types |
data[].status | integer | Transaction status, see Transaction statuses |
data[].error | string | null | Failure reason when status is 4 |
data[].created_at | string | Creation time (ISO 8601) |
total | integer | Number of transactions matching the filters |
page | integer | Page number |
per_page | integer | Items per page |
Transaction types
| Type | Name | Description |
|---|---|---|
| 1 | WithdrawType | Withdrawal from a node wallet (Withdraw) |
| 2 | DeployListingContract | Deploy the listing facet |
| 3 | DeployRentContract | Deploy the rent facet |
| 4 | DeployBurnContract | Deploy the burn facet |
| 5 | ApproveCurrencyToken | Approve a currency token transfer |
| 6 | ApproveCurrencyRent | Approve a currency token for rent |
| 7 | DeployFeeContract | Deploy the fee facet |
| 8 | UpdateDefaultFee | Update the default fee |
| 9 | UpdateCategoryFee | Update a category fee |
| 10 | UpdateDefaultNodeFee | Update the default node fee |
| 11 | UpdateCategoryNodeFee | Update a category node fee |
| 12 | UpdateDefaultNodeFeeByPlatformOwner | Platform owner updates the default node fee |
| 13 | UpdateCategoryNodeFeeByPlatformOwner | Platform owner updates a category node fee |
| 14 | UnsetDefaultOwnerFee | Clear the default owner fee |
| 15 | UnsetCategoryOwnerFee | Clear a category owner fee |
| 16 | DeploySecondaryContract | Deploy the secondary-market facet |
| 17 | DeployKycTokenContract | Deploy a KYC token (proxy step) |
| 18 | DeployOtcContract | Deploy the OTC facet |
| 19 | SendKycToken | Send a KYC token to a wallet |
| 20 | UnsetDefaultNodeFee | Clear the default node fee |
| 21 | UnsetCategoryNodeFee | Clear a category node fee |
| 22 | UnsetDefaultNodeFeeByPlatformOwner | Platform owner clears the default node fee |
| 23 | UnsetCategoryNodeFeeByPlatformOwner | Platform owner clears a category node fee |
| 24 | ExportInvestorReport | Investor report export |
| 25 | DeployDiamondCutFacet | Deploy the diamond-cut facet |
| 26 | DeployDiamond | Deploy the diamond |
| 27 | DeployDiamondLoupeFacet | Deploy the diamond-loupe facet |
| 28 | DeployOwnershipFacet | Deploy the ownership facet |
| 29 | ExecuteDiamondCut | Wire the deployed facets into the diamond (last step of a setup deploy) |
| 30 | SendOutsideKycToken | Send a KYC token to an outside address |
| 31 | RecallKycToken | Recall a KYC token |
| 32 | RecallToken | Recall a token from a holder |
| 33 | ChangeKycTokenPlatformOwner | Change a KYC token's platform owner |
| 34 | ChangeNodeOwnerAddress | Change the node owner address on chain |
| 35 | ChangePlatformOwnerAddress | Change the platform owner address on chain |
| 36 | TransferTokenizedAssetOwnership | Transfer ownership of a tokenized asset |
| 37 | CreateKycGroup | Create a KYC group |
| 38 | DeleteKycGroup | Delete a KYC group |
| 39 | AddMemberToKycGroup | Add a member to a KYC group |
| 40 | RemoveMemberFromKycGroup | Remove a member from a KYC group |
| 41 | AddMembersToKycGroup | Add several members to a KYC group |
| 42 | AddMemberToWhitelist | Add a member to a token whitelist |
| 43 | AddMembersToWhitelist | Add several members to a token whitelist |
| 44 | RemoveMemberFromWhitelist | Remove a member from a token whitelist |
| 45 | AddToBlacklistKyc | Add a member to a token blacklist |
| 46 | AddMembersToBlacklist | Add several members to a token blacklist |
| 47 | RemoveMemberFromBlacklist | Remove a member from a token blacklist |
| 48 | AddMemberToDistributionGroup | Add a member to a distribution group |
| 49 | RemoveMemberFromDistributionGroup | Remove a member from a distribution group |
| 50 | AddMembersToDistributionGroup | Add several members to a distribution group |
| 51 | AddKycGroupTokenToWhitelist | Whitelist a KYC group for a token |
| 52 | RemoveKycGroupFromWhitelist | Remove a KYC group from a token whitelist |
| 53 | AddKycGroupToBlacklist | Blacklist a KYC group for a token |
| 54 | RemoveKycGroupFromBlacklist | Remove a KYC group from a token blacklist |
| 55 | UpdateDiamondCut | Add, replace or remove facets on the diamond (last step of a contract upgrade) |
| 56 | SendNativeToUser | Send native coin to a user wallet |
| 57 | ChangeOwnerAddress | The owner changes its own address on a setup's diamond |
| 58 | DeployKycTokenImpl | Deploy a KYC token's implementation (first step) |
Transaction statuses
| Status | Name | Description |
|---|---|---|
| 1 | Started | Recorded, not picked up yet |
| 2 | InProgress | Being prepared and signed |
| 3 | Done | Confirmed on chain |
| 4 | Error | Failed; the reason is in error |
| 5 | PendingReceipt | Broadcast; waiting for the chain to confirm it |
1, 2 and 5 are not final: keep polling until 3 or 4.
Errors
| Status | Code | Description |
|---|---|---|
| 400 | 10015 | Validation failed (for example a missing page or per_page) — see details |
| 400 | 10016 | node_id, wallet_id, network_id or internal_id is not a valid id |
| 400 | 10001 | Node not found (node domain 2) |
| 403 | 10005 | The node is outside your part of the hierarchy (node domain 2) |
See Errors for the error format and common codes.