Discover blockchain tables, columns and optional physical source metadata. Returns logical table names and typed columns, with optional physical source, engine, sorting/partition keys and size estimates. 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.0288 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.0288 credits / call
The final charge is based on confirmed usage. Unused reserved credits return to your available balance.
Surf
On-Chain Table Schema Lookup
Discover blockchain tables, columns and optional physical source metadata. Returns logical table names and typed columns, with optional physical source, engine, sorting/partition keys and size estimates. 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.0288 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 logical table names and typed columns, with optional physical source, engine, sorting/partition keys and size estimates. Inspect table and partition metadata before writing a query. Row and compressed-byte figures describe source tables, not the number of rows returned by this Tool.
Start with your task
Find data about [people swapping cryptocurrencies on Ethereum]. Explain each match in plain language. If several fit, list their names and ask me to choose. For my choice, show the source and size if available. Clarify this describes available data, not the transactions.
Inputs & outputs
Inspect the current inputs, availability, and maximum charge before starting.
Input schema
Input schema
Field / Path
Type
Requirement
Meaning
queryParamsqueryParams
object
Optional
tablequeryParams.table
string
Optional
Optional logical table name from the agent database. When set, the response adds bounded physical metadata: engine, partition key, sorting key, primary key, row estimate, and compressed bytes. Example: polymarket_trades.
Discover blockchain tables, columns and optional physical source metadata
How to use this Tool
Use the deployed input fields below. Required fields must be supplied; optional filters narrow the result.
queryParams.table (Optional): Optional logical table name from the agent database. When set, the response adds bounded physical metadata: engine, partition key, sorting key, primary key, row estimate, and compressed bytes. Example: polymarket_trades.
What this Tool returns
Returns logical table names and typed columns, with optional physical source, engine, sorting/partition keys and size estimates.
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.
Paths in the table start at the Surf response root. In this Tool's saved Example, Toolmu stores that response inside result; for example, data.[].field corresponds to result.data.[].field in the saved run output. This wrapper and the observed rows describe the saved request, not a guarantee for every future input.
Field, type and presence
Meaning and conditions
data.[].columns
array | null; Required within parent
List of columns in this table
data.[].columns.[].comment
string; Optional within parent
Column comment or description
data.[].columns.[].name
string; Required within parent
Column name
data.[].columns.[].type
string; Required within parent
Column data type like `UInt64`, `String`, or `DateTime`
data.[].database
string; Required within parent
Database name (always `agent`)
data.[].engine
string; Optional within parent
Logical table engine, commonly View
data.[].partition_key
string; Optional within parent
Logical table PARTITION BY expression when applicable
data.[].physical_sources
array | null; Optional within parent
Bounded physical source metadata for a selected logical view
data.[].physical_sources.[].database
string; Required within parent
Physical ClickHouse database
data.[].physical_sources.[].engine
string; Required within parent
Physical ClickHouse table engine
data.[].physical_sources.[].partition_key
string; Optional within parent
Physical PARTITION BY expression
data.[].physical_sources.[].primary_key
string; Optional within parent
Physical primary-key expression
data.[].physical_sources.[].sorting_key
string; Optional within parent
Physical ORDER BY expression
data.[].physical_sources.[].table
string; Required within parent
Physical ClickHouse table
data.[].physical_sources.[].total_bytes
integer; Optional within parent; format: int64
Current compressed bytes from system.tables
data.[].physical_sources.[].total_rows
integer; Optional within parent; format: int64
Current physical row estimate from system.tables
data.[].primary_key
string; Optional within parent
Logical table primary-key expression when applicable
data.[].sorting_key
string; Optional within parent
Logical table ORDER BY expression when applicable
data.[].table
string; Required within parent
Logical table name
data.[].total_bytes
integer; Optional within parent; format: int64
Logical table compressed bytes when available
data.[].total_rows
integer; Optional within parent; format: int64
Logical table row estimate when available
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
Inspect table and partition metadata before writing a query. Row and compressed-byte figures describe source tables, not the number of rows returned by this Tool.
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.0288 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.
Explore Ethereum exchange data
Example request: Find data about [people swapping one cryptocurrency for another on Ethereum]. Explain the names and what each match contains in everyday words.
Example request: Find data for [Bitcoin sent from one wallet to another]. Show the matching names and explain what information they contain.
Find data about [people swapping cryptocurrencies on Ethereum]. Explain each match in plain language. If several fit, list their names and ask me to choose. For my choice, show the source and size if available. Clarify this describes available data, not the transactions.
Check a data source and its size
Example request: For [Ethereum cryptocurrency swaps], show the source and approximate size if available. Tell me this describes available data, not the transaction records.
Questions about this tool.
Inputs, results and details to know before running it.
queryParams.table (Optional): Optional logical table name from the agent database. When set, the response adds bounded physical metadata: engine, partition key, sorting key, primary key, row estimate, and compressed bytes. Example: polymarket_trades.
Returns logical table names and typed columns, with optional physical source, engine, sorting/partition keys and size estimates.
Inspect table and partition metadata before writing a query. Row and compressed-byte figures describe source tables, not the number of rows returned by this Tool.
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.0288 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 Discover blockchain tables, columns and optional physical source metadata. 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.