On-Chain Wallet History by Address, Deep Pagination
Review an EVM wallet's recent transaction history. Returns an EVM wallet's recent transactions with addresses, native-unit value, type, timestamp and optional labels. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0144 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Up to 0.0144 credits / call
The final charge is based on confirmed usage. Unused reserved credits return to your available balance.
Surf
On-Chain Wallet History by Address, Deep Pagination
Review an EVM wallet's recent transaction history. Returns an EVM wallet's recent transactions with addresses, native-unit value, type, timestamp and optional labels. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0144 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
You receive
Returns an EVM wallet's recent transactions with addresses, native-unit value, type, timestamp and optional labels. The source's recent-history cap is about 1,000 records before pagination. This is not an exhaustive lifetime archive, and native value is not a USD amount.
Start with your task
Share the public wallet page link from a blockchain explorer, such as Etherscan. I’ll review the wallet’s recent transactions and explain what the recorded activity shows.
Inputs & outputs
Inspect the current inputs, availability, and maximum charge before starting.
Input schema
Input schema
Field / Path
Type
Requirement
Meaning
queryParamsqueryParams
object
Required
Required fields
address
chainqueryParams.chain
string
Optional
Chain filter. Can be ethereum, polygon, bsc, avalanche, arbitrum, optimism, fantom, or base. Example: ethereum. Defaults to "ethereum".
Default
ethereum
Options
ethereum, polygon, bsc, avalanche, arbitrum, optimism, fantom, base
limitqueryParams.limit
integer
Optional
Results per page. Example: 20. Defaults to 20.
Default
20
Minimum
1
Maximum
100
orderqueryParams.order
string
Optional
Sort order. The cursor-paginated upstream feed only supports desc correctly; unsupported values are rejected by the handler for correctness. Example: desc. Defaults to "desc".
Default
desc
Options
asc, desc
beforequeryParams.before
integer
Optional
Cursor for efficient deep pagination: return transactions strictly older than this Unix-seconds timestamp (exclusive). Pass the timestamp of the last item from the previous page; if items may share a second, pass that timestamp + 1 and de-duplicate on tx_hash. Unlike offset (which walks the feed), the number of upstream fetches is bounded by limit (DeBank returns up to 20 per page) and independent of how far back you page. Mutually exclusive with offset. Example: 1704067200.
Minimum
0
Maximum
9007199254740991
offsetqueryParams.offset
integer
Optional
Pagination offset. This feed is cursor-paginated upstream and only the most recent ~1000 transactions are reachable; a larger offset returns an empty page with meta.empty_reason rather than an error. For deep history prefer the before cursor — its upstream cost is bounded by limit and independent of depth, whereas a large offset is emulated by walking the whole feed. Example: 0. Defaults to 0.
Default
0
Minimum
0
Maximum
9007199254740991
addressqueryParams.address
string
Required
Wallet address — must be a raw 0x-prefixed hex address, not an ENS name. Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045.
Minimum length
1
includequeryParams.include
string
Optional
Comma-separated enrichments to attach to each item. Currently valid: labels — adds from_label and to_label fields with entity information for each counterparty address. Example: labels.
Minimum length
1
sort_byqueryParams.sort_by
string
Optional
Field to sort results by. The cursor-paginated upstream feed only supports timestamp correctly; unsupported values are rejected by the handler for correctness. Example: timestamp. Defaults to "timestamp".
Default
timestamp
Options
timestamp, value
View raw JSON
{
"type": "object",
"required": [
"queryParams"
],
"properties": {
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"address"
],
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"chain": {
"enum": [
"ethereum",
"polygon",
"bsc",
"avalanche",
"arbitrum",
"optimism",
"fantom",
"base"
],
"type": "string",
"default": "ethereum",
"description": "Chain filter. Can be ethereum, polygon, bsc, avalanche, arbitrum, optimism, fantom, or base. Example: ethereum. Defaults to \"ethereum\"."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Results per page. Example: 20. Defaults to 20."
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort order. The cursor-paginated upstream feed only supports desc correctly; unsupported values are rejected by the handler for correctness. Example: desc. Defaults to \"desc\"."
},
"before": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Cursor for efficient deep pagination: return transactions strictly older than this Unix-seconds timestamp (exclusive). Pass the timestamp of the last item from the previous page; if items may share a second, pass that timestamp + 1 and de-duplicate on tx_hash. Unlike offset (which walks the feed), the number of upstream fetches is bounded by limit (DeBank returns up to 20 per page) and independent of how far back you page. Mutually exclusive with offset. Example: 1704067200."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset. This feed is cursor-paginated upstream and only the most recent ~1000 transactions are reachable; a larger offset returns an empty page with meta.empty_reason rather than an error. For deep history prefer the before cursor — its upstream cost is bounded by limit and independent of depth, whereas a large offset is emulated by walking the whole feed. Example: 0. Defaults to 0."
},
"address": {
"type": "string",
"minLength": 1,
"description": "Wallet address — must be a raw 0x-prefixed hex address, not an ENS name. Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045."
},
"include": {
"type": "string",
"minLength": 1,
"description": "Comma-separated enrichments to attach to each item. Currently valid: labels — adds from_label and to_label fields with entity information for each counterparty address. Example: labels."
},
"sort_by": {
"enum": [
"timestamp",
"value"
],
"type": "string",
"default": "timestamp",
"description": "Field to sort results by. The cursor-paginated upstream feed only supports timestamp correctly; unsupported values are rejected by the handler for correctness. Example: timestamp. Defaults to \"timestamp\"."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Result schema
Output fields have not been documented yet.
Additional notes
Review an EVM wallet's recent transaction history
How to use this Tool
Use the deployed input fields below. Required fields must be supplied; optional filters narrow the result.
queryParams.chain (Optional): Chain filter. Can be ethereum, polygon, bsc, avalanche, arbitrum, optimism, fantom, or base. Example: ethereum. Defaults to "ethereum".
queryParams.limit (Optional): Results per page. Example: 20. Defaults to 20.
queryParams.order (Optional): Sort order. The cursor-paginated upstream feed only supports desc correctly; unsupported values are rejected by the handler for correctness. Example: desc. Defaults to "desc".
queryParams.before (Optional): Cursor for efficient deep pagination: return transactions strictly older than this Unix-seconds timestamp (exclusive). Pass the timestamp of the last item from the previous page; if items may share a second, pass that timestamp + 1 and de-duplicate on tx_hash. Unlike offset (which walks the feed), the number of upstream fetches is bounded by limit (DeBank returns up to 20 per page) and independent of how far back you page. Mutually exclusive with offset. Example: 1704067200.
queryParams.offset (Optional): Pagination offset. This feed is cursor-paginated upstream and only the most recent ~1000 transactions are reachable; a larger offset returns an empty page with meta.empty_reason rather than an error. For deep history prefer the before cursor — its upstream cost is bounded by limit and independent of depth, whereas a large offset is emulated by walking the whole feed. Example: 0. Defaults to 0.
queryParams.address (Required): Wallet address — must be a raw 0x-prefixed hex address, not an ENS name. Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045.
queryParams.include (Optional): Comma-separated enrichments to attach to each item. Currently valid: labels — adds from_label and to_label fields with entity information for each counterparty address. Example: labels.
queryParams.sort_by (Optional): Field to sort results by. The cursor-paginated upstream feed only supports timestamp correctly; unsupported values are rejected by the handler for correctness. Example: timestamp. Defaults to "timestamp".
What this Tool returns
Returns an EVM wallet's recent transactions with addresses, native-unit value, type, timestamp and optional labels.
Response fields and how to read them
The table follows the official response contract, including nested fields and useful response metadata. [] denotes an array item. Required means required within its parent object, not that a conditional parent always exists. A nullable type permits null; an optional field can be absent. Use the documented conditions below to distinguish missing, empty and zero values. Units and reporting windows apply only where explicitly documented.
Field, type and presence
Meaning and conditions
data.[].from_address
string; Required within parent
Sender wallet address
data.[].from_label
object; Optional within parent
Entity labels for from_address. Only present when the request sets `include=labels`.
data.[].from_label.address
string; Required within parent
Wallet address
data.[].from_label.entity_name
string; Optional within parent
Name of the associated entity like `Binance` or `Aave`
data.[].from_label.entity_type
string; Optional within parent
Type of entity like `exchange`, `fund`, or `whale`
data.[].from_label.labels
array | null; Required within parent
List of labels assigned to this address
data.[].from_label.labels.[].confidence
number; Optional within parent; format: double
Confidence score 0.0-1.0
data.[].from_label.labels.[].label
string; Required within parent
Human-readable label for this address like `Binance Hot Wallet`
data.[].timestamp
integer; Required within parent; format: int64
Unix timestamp in seconds when the transaction was confirmed
data.[].to_address
string; Required within parent
Recipient wallet address
data.[].to_label
object; Optional within parent
Entity labels for to_address. Only present when the request sets `include=labels`.
data.[].to_label.address
string; Required within parent
Wallet address
data.[].to_label.entity_name
string; Optional within parent
Name of the associated entity like `Binance` or `Aave`
data.[].to_label.entity_type
string; Optional within parent
Type of entity like `exchange`, `fund`, or `whale`
data.[].to_label.labels
array | null; Required within parent
List of labels assigned to this address
data.[].to_label.labels.[].confidence
number; Optional within parent; format: double
Confidence score 0.0-1.0
data.[].to_label.labels.[].label
string; Required within parent
Human-readable label for this address like `Binance Hot Wallet`
data.[].tx_hash
string; Required within parent
Transaction hash
data.[].tx_type
string; Optional within parent
Transaction type: `send`, `receive`, `swap`, `approve`, etc.
data.[].value
string; Required within parent
Decimal-adjusted transaction value in native token as a string
meta.cached
boolean; Required within parent
Whether this response was served from cache
meta.credits_used
integer; Required within parent; format: int64
Credits deducted for this request
meta.empty_reason
string; Optional within parent
Hint explaining why the data array is empty, when applicable
meta.has_more
boolean; Optional within parent
Whether more items may exist beyond this response. For offset-paged endpoints, continue with a larger offset. For time-series endpoints without offset/cursor controls, true means the requested time range hit an upstream cap; narrow from/to to continue. Omitted when exhaustion cannot be proven.
meta.limit
integer; Required within parent; format: int64
Maximum number of items returned in this response
meta.offset
integer; Required within parent; format: int64
Number of items skipped (pagination offset)
meta.total
integer; Optional within parent; format: int64
Total number of matching items (before pagination). Omitted when total is unknown.
meta.watermark
integer; Optional within parent; format: int64
Warehouse watermark (Unix seconds) this response was computed at, on warehouse-backed endpoints (e.g. Hyperliquid /trades/aggregate) — rows up to this time come from the warehouse, newer rows from the live tail. Omitted elsewhere.
Coverage, units and freshness
The source's recent-history cap is about 1,000 records before pagination. This is not an exhaustive lifetime archive, and native value is not a USD amount.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.
Data source and references
Surf supplies this endpoint through its Data API. Response contract and deployed Tool inputs reviewed on 2026-10-03 against official OpenAPI v0.2.102. This is a contract review date, not a data observation time. Coverage depends on the selected endpoint and request.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0144 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
See recent wallet activity
Show recent activity for [this public Etherscan wallet page link].
Summarize recent sends, receives, swaps and approvals for [this wallet page link].
Share the public wallet page link from a blockchain explorer, such as Etherscan. I’ll review the wallet’s recent transactions and explain what the recorded activity shows.
Check history coverage
Check [this public wallet page link] and explain how far back the available transactions go.
Questions about this tool.
Inputs, results and details to know before running it.
Share the public account page for one wallet from a supported blockchain explorer, such as Etherscan. The page should show the wallet itself; a link to one transaction is not enough. A name ending in .eth alone is not supported. If the explorer page does not make the network clear, tell your agent which network the wallet uses.
Returns an EVM wallet's recent transactions with addresses, native-unit value, type, timestamp and optional labels.
The source's recent-history cap is about 1,000 records before pagination. This is not an exhaustive lifetime archive, and native value is not a USD amount.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0144 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Ask your agent to Review an EVM wallet's recent transaction history. Provide the required inputs above. If Toolmu is already connected, reuse that connection; otherwise use the setup instructions on this page. Before a paid execution, the agent must read the current Tool contract and check availability, the credit ceiling, balance, budget and your authorization. It should then execute the Tool and explain the returned fields and limitations.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.