# AI.tatum.io - full content index
> Machine-readable Tatum layer for AI agents: MCP, Skills.md, workflows, and JSON APIs.
Snapshot: 2026-10-02T14:36:14.636Z
Entry manifest: https://ai.tatum.io/.well-known/tatum-agent.json
This file inlines every top-level page on the site, in navigation order, followed by every capability and workflow detail. Each section is bounded by a horizontal rule (`---`) and starts with an `
` containing the page title.
If you only want the curated index without the bodies, use https://ai.tatum.io/llms.txt.
## Machine-readable endpoints
- /.well-known/tatum-agent.json (manifest) - Agent manifest (start here)
- /api/workflows (json) - Workflows
- /api/capabilities (json) - Capabilities (+ linked workflows)
- /api/mcp-tools (json) - MCP tools
- /api/chains (json) - Chain endpoints (flat, one row per interface)
- /api/blockchain-registry (json) - Blockchain registry (nested tree)
- /api/openapi-index (json) - OpenAPI index
- /llms.txt (text) - LLM-friendly URL index (llmstxt.org convention)
- /llms-full.txt (text) - Every page concatenated as one Markdown document
---
# AI.tatum.io
> The machine-readable Tatum layer for AI agents: Blockchain MCP, Skills.md code generation, task workflows, and JSON APIs for on-chain data and RPC access.
- canonical:
- html:
## What this is
Structured documentation for AI agents using Tatum. Workflows are task guides. Capabilities map product areas to tools and APIs. MCP and Skills.md are how you run calls and generate code.
## Routing
- User goal: /api/workflows and /workflows/{slug}.md
- Product areas: /api/capabilities
- Runtime: MCP at /mcp
- Codegen: Skills.md at /integration-skill
- Manifest: /.well-known/tatum-agent.json
## Counts
- Chains: 67
- Networks: 135
- MCP tools: 13
- OpenAPI operations: 129
- Snapshot at: 2026-10-02T14:36:14.636Z
## Pages
**Workflows** - Task guides -
**MCP** - Blockchain MCP -
**Skills.md** - Integration skill -
**Capabilities** - Product areas -
**Docs** - API reference -
**Blockchain registry** - Chains and networks -
## Capabilities
- RPC Gateway -
- Wallet Portfolio -
- Notifications -
- NFT Ownership -
- Exchange Rates -
- Transaction Monitoring -
## Workflows
- Wallet Portfolio Assistant -
- Incoming Payment Monitor -
- NFT Ownership Checker -
- RPC Diagnostic Agent -
## JSON endpoints
- `/.well-known/tatum-agent.json` -
- `/api/workflows` -
- `/api/capabilities` -
- `/api/mcp-tools` -
- `/api/chains` -
- `/api/blockchain-registry` -
- `/api/openapi-index` -
- `/llms.txt` -
- `/llms-full.txt` -
---
# Blockchain MCP
> Connect Cursor, Claude, or any MCP client to Tatum. Query blockchain data and call JSON-RPC across every supported network — install and configure in one command.
- canonical:
- html:
## Install
```bash
npm install -g @tatumio/blockchain-mcp
```
## Configure your MCP client
Add to `.cursor/mcp.json`, `.claude/mcp.json`, or your runtime's equivalent:
```json
{
"mcpServers": {
"tatumio": {
"command": "npx",
"args": [
"@tatumio/blockchain-mcp"
],
"env": {
"TATUM_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
## Available tools (13)
### Blockchain Data
| tool | description |
| --- | --- |
| get_metadata | Fetch NFT/multitoken metadata by address and IDs |
| get_wallet_balance_by_time | Get wallet balance at specific time |
| get_wallet_portfolio | Get comprehensive wallet portfolio |
| get_owners | Get owners of NFT/token |
| check_owner | Check if address owns specific token |
| get_transaction_history | Get transaction history for address |
| get_block_by_time | Get block information by timestamp |
| get_tokens | Get tokens for specific wallet |
| check_malicous_address | Check if address is malicious |
| get_exchange_rate | Get real-time exchange rates |
### RPC Gateway
| tool | description |
| --- | --- |
| gateway_get_supported_chains | Get all supported blockchain networks |
| gateway_get_supported_methods | Get supported RPC methods for chain |
| gateway_execute_rpc | Execute RPC calls on any supported chain |
## References
-
-
-
---
# Skills.md
> Generate Tatum integration code directly in your repo. The skill detects your stack, adds routes and services, and wires up your API key for you.
- canonical:
- html:
## Skills.md
## Install
```bash
npx skills add https://github.com/tatumio/tatum-integration-skill --skill tatum
```
Invoke with `/tatum ` in Cursor, Claude Code, or OpenHands.
## Resources
- Install: `npx skills add https://github.com/tatumio/tatum-integration-skill --skill tatum`
- [API key](https://ai.tatum.io/auth)
- [GitHub](https://github.com/tatumio/tatum-integration-skill)
## Ask for it in plain English
One line in the composer. The skill handles the rest, from route to response.
**BALANCES** - /tatum add balance checking for Ethereum
**NOTIFICATIONS** - /tatum add a webhook for Bitcoin transactions
**NFTS** - /tatum add NFT balance checking
**MARKET DATA** - /tatum add 30 day daily chart for ETH/USD
## One request in, repo-native code out
The skill inspects the app, adds the integration, wires configuration, and validates the result against current Tatum context.
**Detect: Framework auto-detection** - Reads your repo shape before it writes anything.
**Generate: Service & route code generation** - Adds the service layer and HTTP route in the style your app already uses.
**Install: Automatic dependency installation** - Installs the SDK and supporting packages only when they are missing.
**Configure: .env configuration with Tatum API key** - Creates the environment contract for a Tatum key without hardcoding secrets.
**Target: V4 endpoints (latest, non-deprecated)** - Targets the current Tatum API surface instead of deprecated endpoints.
**Validate: MCP-assisted parameter & response validation** - Checks parameters and responses against MCP context before you ship.
## Six languages, eighteen frameworks
| Language | Frameworks | Count |
| --- | --- | --- |
| JavaScript / TypeScript | Express, NestJS, Fastify, Koa | 4 |
| Python | FastAPI, Django, Flask | 3 |
| Java | Spring Boot, Quarkus, Micronaut | 3 |
| PHP | Laravel, Symfony, Slim | 3 |
| Go | Gin, Echo, Chi | 3 |
| Ruby | Rails, Sinatra | 2 |
---
# Blockchain Registry
> 67 chains and 135 networks from the Tatum registry, with chain IDs, native tokens, RPC endpoints, and gateway metadata for every supported network.
- canonical:
- html:
## Counts
- Chains: 67
- Networks: 135
- Endpoints (chain x network x interface): 194
- Source:
- Snapshot: 2026-10-02T14:36:14.636Z
## Three views, one source
- Flat lookup: `/api/chains` - one row per chain x network x interface -
- Nested tree: `/api/blockchain-registry` - chains contain networks contain interfaces -
- Upstream snapshot:
## Endpoints
| Chain | Network | Interface | Protocol | URL |
| --- | --- | --- | --- | --- |
| Abstract | Mainnet | JSON-RPC | json-rpc | |
| Abstract | Testnet (testnet) | JSON-RPC | json-rpc | |
| Algorand | Mainnet | Algod REST API | rest | |
| Algorand | Mainnet | Indexer REST API | rest | |
| Algorand | Testnet (testnet) | Algod REST API | rest | |
| Algorand | Testnet (testnet) | Indexer REST API | rest | |
| Arbitrum Nova | Mainnet | JSON-RPC | json-rpc | |
| Arbitrum One | Mainnet | JSON-RPC | json-rpc | |
| Arbitrum One | Sepolia (testnet) | JSON-RPC | json-rpc | |
| Aurora | Mainnet | JSON-RPC | json-rpc | |
| Aurora | Testnet (testnet) | JSON-RPC | json-rpc | |
| Avalanche | Mainnet | JSON-RPC (C-Chain) | json-rpc | |
| Avalanche | Mainnet | JSON-RPC (P-Chain) | json-rpc | |
| Avalanche | Mainnet | JSON-RPC (X-Chain) | json-rpc | |
| Avalanche | Testnet (testnet) | JSON-RPC (C-Chain) | json-rpc | |
| Avalanche | Testnet (testnet) | JSON-RPC (P-Chain) | json-rpc | |
| Avalanche | Testnet (testnet) | JSON-RPC (X-Chain) | json-rpc | |
| Base | Mainnet | JSON-RPC | json-rpc | |
| Base | Sepolia (testnet) | JSON-RPC | json-rpc | |
| Berachain | Mainnet | JSON-RPC | json-rpc | |
| Berachain | Bepolia (testnet) | JSON-RPC | json-rpc | |
| Binance Smart Chain | Mainnet | JSON-RPC | json-rpc | |
| Binance Smart Chain | Testnet (testnet) | JSON-RPC | json-rpc | |
| Bitcoin | Mainnet | JSON-RPC | json-rpc | |
| Bitcoin | Mainnet | REST API | rest | |
| Bitcoin | Mainnet | Electrs JSON-RPC | json-rpc | |
| Bitcoin | Testnet (testnet) | JSON-RPC | json-rpc | |
| Bitcoin | Testnet (testnet) | REST API | rest | |
| Bitcoin | Testnet4 (testnet) | JSON-RPC | json-rpc | |
| Bitcoin | Testnet4 (testnet) | REST API | rest | |
| Bitcoin | Signet (testnet) | JSON-RPC | json-rpc | |
| Bitcoin Cash | Mainnet | JSON-RPC | json-rpc | |
| Bitcoin Cash | Mainnet | REST API | rest | |
| Bitcoin Cash | Mainnet | ROSTRUM JSON-RPC | json-rpc | |
| Bitcoin Cash | Testnet (testnet) | JSON-RPC | json-rpc | |
| Bitcoin Cash | Testnet (testnet) | REST API | rest | |
| Bitcoin Cash | Testnet (testnet) | Rostrum JSON-RPC | json-rpc | |
| Cardano | Mainnet | Rosetta API | rest | |
| Cardano | Preprod (testnet) | Rosetta API | rest | |
| Casper | Mainnet | JSON-RPC | json-rpc | |
| Casper | Testnet (testnet) | JSON-RPC | json-rpc | |
| Celo | Mainnet | JSON-RPC | json-rpc | |
| Celo | Sepolia (testnet) | JSON-RPC | json-rpc | |
| Chiliz | Mainnet | JSON-RPC | json-rpc | |
| Chiliz | Testnet (testnet) | JSON-RPC | json-rpc | |
| Cosmos | Mainnet | gRPC over https | rest | |
| Cosmos | Mainnet | gRPC | gRPC | |
| Cosmos | Mainnet | Tendermint JSON-RPC | json-rpc | |
| Cosmos | Mainnet | Tendermint REST API | rest | |
| Cosmos | Testnet (testnet) | gRPC over https | rest | |
| Cosmos | Testnet (testnet) | gRPC | gRPC | |
| Cosmos | Testnet (testnet) | Tendermint JSON-RPC | json-rpc | |
| Cosmos | Testnet (testnet) | Tendermint REST API | rest | |
| Cronos | Mainnet | JSON-RPC | json-rpc | |
| Cronos | Testnet (testnet) | JSON-RPC | json-rpc | |
| Dogecoin | Mainnet | JSON-RPC | json-rpc | |
| Dogecoin | Mainnet | REST API | rest | |
| Dogecoin | Testnet (testnet) | JSON-RPC | json-rpc | |
| Dogecoin | Testnet (testnet) | REST API | rest | |
| EOS | Mainnet | REST API | rest | |
| EOS | Jungle (testnet) | REST API | rest | |
| Ethereum | Mainnet | JSON-RPC | json-rpc | |
| Ethereum | Mainnet | Beacon API | rest | |
| Ethereum | Mainnet | WebSocket | websocket | |
| Ethereum | Sepolia (testnet) | JSON-RPC | json-rpc | |
| Ethereum | Sepolia (testnet) | Beacon API | rest | |
| Ethereum | Sepolia (testnet) | WebSocket | websocket | |
| Ethereum | Hoodi (testnet) | JSON-RPC | json-rpc | |
| Ethereum | Hoodi (testnet) | Beacon API | rest | |
| Ethereum Classic | Mainnet | JSON-RPC | json-rpc | |
| Ethereum Classic | Testnet (testnet) | JSON-RPC | json-rpc | |
| Fantom | Mainnet | JSON-RPC | json-rpc | |
| Flare | Mainnet | JSON-RPC | json-rpc | |
| Flare | Coston (testnet) | JSON-RPC | json-rpc | |
| Flare | Coston2 (testnet) | JSON-RPC | json-rpc | |
| Flare | Songbird (testnet) | JSON-RPC | json-rpc | |
| Gnosis | Mainnet | JSON-RPC | json-rpc | |
| Gnosis | Testnet (testnet) | JSON-RPC | json-rpc | |
| HAQQ | Mainnet | JSON-RPC | json-rpc | |
| HAQQ | Testnet (testnet) | JSON-RPC | json-rpc | |
| HyperEVM | Mainnet | JSON-RPC | json-rpc | |
| HyperEVM | Testnet (testnet) | JSON-RPC | json-rpc | |
| Iota | Mainnet | JSON-RPC | json-rpc | |
| Iota | Testnet (testnet) | JSON-RPC | json-rpc | |
| Iota | Devnet (testnet) | JSON-RPC | json-rpc | |
| Kaia | Mainnet | JSON-RPC | json-rpc | |
| Kaia | Kairos (testnet) | JSON-RPC | json-rpc | |
| Katana | Mainnet | JSON-RPC | json-rpc | |
| Katana | Bokuto (testnet) | JSON-RPC | json-rpc | |
| Kucoin | Mainnet | JSON-RPC | json-rpc | |
| Kusama | Mainnet | JSON-RPC | json-rpc | |
| Kusama | Mainnet | Substrate API | rest | |
| Kusama | Mainnet | REST API | rest | |
| Kusama Asset Hub | Mainnet | JSON-RPC | json-rpc | |
| Kusama Asset Hub | Mainnet | REST API | rest | |
| Lisk | Mainnet | JSON-RPC | json-rpc | |
| Lisk | Sepolia (testnet) | JSON-RPC | json-rpc | |
| Litecoin | Mainnet | JSON-RPC | json-rpc | |
| Litecoin | Mainnet | REST API | rest | |
| Litecoin | Testnet (testnet) | JSON-RPC | json-rpc | |
| Litecoin | Testnet (testnet) | REST API | rest | |
| Lumia | Mainnet | JSON-RPC | json-rpc | |
| Lumia | Beam (testnet) | JSON-RPC | json-rpc | |
| MANTRA Chain | Mainnet | JSON-RPC | json-rpc | |
| MANTRA Chain | Dukong with EVM (testnet) | JSON-RPC | json-rpc | |
| MegaETH | timothy (testnet) | JSON-RPC | json-rpc | |
| Moca Chain | Mainnet | JSON-RPC | json-rpc | |
| Moca Chain | Testnet (testnet) | JSON-RPC | json-rpc | |
| Monacoin | Mainnet | JSON-RPC | json-rpc | |
| MONAD | Mainnet | JSON-RPC | json-rpc | |
| MONAD | Testnet (testnet) | JSON-RPC | json-rpc | |
| MultiversX | Mainnet | REST API | rest | |
| MultiversX | Testnet (testnet) | REST API | rest | |
| MultiversX | Devnet (testnet) | REST API | rest | |
| NEAR | Mainnet | JSON-RPC | json-rpc | |
| NEAR | Testnet (testnet) | JSON-RPC | json-rpc | |
| Oasis | Mainnet | JSON-RPC | json-rpc | |
| Oasis | Emerald (testnet) | JSON-RPC | json-rpc | |
| Optimism | Mainnet | JSON-RPC | json-rpc | |
| Optimism | Testnet (testnet) | JSON-RPC | json-rpc | |
| Plasma | Mainnet | JSON-RPC | json-rpc | |
| Plasma | Testnet (testnet) | JSON-RPC | json-rpc | |
| Plume | Mainnet | JSON-RPC | json-rpc | |
| Plume | Testnet (testnet) | JSON-RPC | json-rpc | |
| Polkadot | Mainnet | JSON-RPC | json-rpc | |
| Polkadot | Mainnet | Substrate API | rest | |
| Polkadot | Mainnet | REST API | rest | |
| Polkadot | Westend (testnet) | JSON-RPC | json-rpc | |
| Polkadot | Westend (testnet) | REST API | rest | |
| Polkadot Asset Hub | Mainnet | JSON-RPC | json-rpc | |
| Polkadot Asset Hub | Mainnet | Substrate API | rest | |
| Polkadot Asset Hub | Mainnet | REST API | rest | |
| Polygon | Mainnet | JSON-RPC | json-rpc | |
| Polygon | Mainnet | JSON-RPC | json-rpc | |
| Polygon | Mainnet | WebSocket | websocket | |
| Polygon | Amoy (testnet) | JSON-RPC | json-rpc | |
| Polygon | Amoy (testnet) | JSON-RPC | json-rpc | |
| Polygon | Amoy (testnet) | WebSocket | websocket | |
| Ripple | Mainnet | REST API | rest | |
| Ripple | Testnet (testnet) | REST API | rest | |
| Robinhood | Mainnet | JSON-RPC | json-rpc | |
| Robinhood | Mainnet | WebSocket | websocket | |
| Robinhood | Testnet (testnet) | JSON-RPC | json-rpc | |
| Robinhood | Testnet (testnet) | WebSocket | websocket | |
| Ronin | Mainnet | JSON-RPC | json-rpc | |
| Ronin | Saigon (testnet) | JSON-RPC | json-rpc | |
| Rootstock | Mainnet | JSON-RPC | json-rpc | |
| Rootstock | Testnet (testnet) | JSON-RPC | json-rpc | |
| Solana | Mainnet | JSON-RPC | json-rpc | |
| Solana | Mainnet | gRPC | gRPC | |
| Solana | Mainnet | WebSocket | websocket | |
| Solana | Devnet (testnet) | JSON-RPC | json-rpc | |
| Solana | Devnet (testnet) | WebSocket | websocket | |
| Sonic | Mainnet | JSON-RPC | json-rpc | |
| Sonic | Testnet (testnet) | JSON-RPC | json-rpc | |
| Stellar | Mainnet | Horizon REST API | rest | |
| Stellar | Mainnet | Soroban JSON-RPC | json-rpc | |
| Stellar | Testnet (testnet) | Horizon REST API | rest | |
| Stellar | Testnet (testnet) | Soroban JSON-RPC | json-rpc | |
| Sui | Mainnet | JSON-RPC | json-rpc | |
| Sui | Mainnet | gRPC | gRPC | |
| Sui | Testnet (testnet) | gRPC | gRPC | |
| Sui | Devnet (testnet) | gRPC | gRPC | |
| Tezos | Mainnet | REST API | rest | |
| Tezos | Shadownet (testnet) | REST API | rest | |
| The Open Network | Mainnet | V3 - Indexer | rest | |
| The Open Network | Mainnet | V2 - TON HTTP API | rest | |
| The Open Network | Testnet (testnet) | V3 - Indexer | rest | |
| The Open Network | Testnet (testnet) | V2 - TON HTTP API | rest | |
| Tron | Mainnet | JSON-RPC | json-rpc | |
| Tron | Mainnet | HTTP API | rest | |
| Tron | Mainnet | Solidity HTTP API | rest | |
| Tron | Shasta (testnet) | JSON-RPC | json-rpc | |
| Tron | Shasta (testnet) | HTTP API | rest | |
| Tron | Shasta (testnet) | Solidity HTTP API | rest | |
| Tron | Nile (testnet) | JSON-RPC | json-rpc | |
| Tron | Nile (testnet) | HTTP API | rest | |
| Tron | Nile (testnet) | Solidity HTTP API | rest | |
| Unichain | Mainnet | JSON-RPC | json-rpc | |
| Unichain | Sepolia (testnet) | JSON-RPC | json-rpc | |
| VeChain | Mainnet | REST API | rest | |
| VeChain | Testnet (testnet) | REST API | rest | |
| XinFin (XDC) | Mainnet | JSON-RPC | json-rpc | |
| XinFin (XDC) | Testnet (testnet) | JSON-RPC | json-rpc | |
| xlayer | Mainnet | JSON-RPC | json-rpc | |
| xlayer | Testnet (testnet) | JSON-RPC | json-rpc | |
| Zcash | Mainnet | JSON-RPC | json-rpc | |
| Zcash | Mainnet | Zebrad JSON-RPC | json-rpc | |
| Zcash | Testnet (testnet) | JSON-RPC | json-rpc | |
| Zcash | Testnet (testnet) | Zebrad JSON-RPC | json-rpc | |
| Zilliqa | Mainnet | JSON-RPC | json-rpc | |
| Zilliqa | Testnet (testnet) | JSON-RPC | json-rpc | |
| ZKsync | Mainnet | JSON-RPC | json-rpc | |
| ZKsync | Testnet (testnet) | JSON-RPC | json-rpc | |
---
# Open API
> 2 mirrored Tatum OpenAPI schemas with 129 operations. Fetch the JSON locally or filter the operations table by method, path, tag, or summary.
- canonical:
- html:
## Schemas
| id | title | version | openapi | paths | operations | tags | source |
| --- | --- | --- | --- | --- | --- | --- | --- |
| `blockchain-data` | Blockchain Data | 1.2 | 3.1.0 | 109 | 110 | 15 | |
| `notifications` | Blockchain Notifications | 3.7.3 | 3.1.0 | 11 | 19 | 3 | |
## Blockchain Data - operations
- Tags: Blockchains API, DeFi API, Exchange rate, Fee Estimation API, Marketplace, Mining API, NFT API, Prediction API, Security API, Staking, Storage API, Token API, Transactions API, Wallet API, Web3 Name Service
- Source:
| method | path | operationId | tags | summary |
| --- | --- | --- | --- | --- |
| GET | `/v4/data/defi/swaps/quote` | GetV4DataDefiSwapsQuote | DeFi API | Get best swap rate |
| GET | `/v4/data/defi/swaps/quotes` | GetV4DataDefiSwapsQuotes | DeFi API | Get multi-protocol rates |
| GET | `/v4/data/collections` | GetCollectionsV4 | NFT API | Get tokens from a collection |
| GET | `/v4/data/metadata` | GetMetadataV4 | NFT API | Get token metadata |
| GET | `/v4/data/wallet/portfolio` | GetWalletPortfolioV4 | Wallet API | Get wallet portfolio |
| GET | `/v4/data/wallet/balance/time` | GetWalletBalanceByTimeV4 | Wallet API | Get balances by time of addresses |
| GET | `/v4/data/wallet/reputation` | GetWalletReputationV4 | Wallet API | Get wallet reputation |
| GET | `/v4/data/wallet/reputation/portfolio` | | Wallet API | Get wallet reputation portfolio |
| GET | `/v4/data/wallet/reputation/tokens` | GetWalletReputationTokensV4 | Wallet API | Get wallet reputation by tokens |
| GET | `/v4/data/ns/name` | NameToAddressV4 | Web3 Name Service | Resolve address by domain |
| GET | `/v4/data/owners` | GetOwnersV4 | NFT API | Get owners of a token |
| GET | `/v4/data/owners/address` | CheckOwnerV4 | NFT API | Check owner of token |
| GET | `/v4/data/nft/balances` | GetNftBalancesV4 | NFT API | Get NFT balance of a wallet address |
| GET | `/v4/data/multitoken/balances` | GetMultiTokenBalanceV4 | NFT API | Get Multi Token balances of a wallet address |
| GET | `/v4/data/transaction/history` | GetTransactionHistoryV4 | Transactions API | Get transaction history |
| GET | `/v4/data/transactions/hash` | GetTransactionsByHashV4 | Transactions API | Get transactions by hash |
| GET | `/v4/data/defi/events` | GetDefiEventsV4 | DeFi API | Get specified events |
| GET | `/v4/data/defi/blocks` | GetDefiBlocksV4 | DeFi API | Get specified blocks |
| GET | `/v4/data/defi/blocks/latest` | GetLatestDefiBlockV4 | DeFi API | Get latest block |
| GET | `/v4/data/block/time` | GetBlockByTimeV4 | DeFi API | Get block by time |
| GET | `/v4/data/blockchains/block/current` | GetCurrentBlockBlockchainsApi | Blockchains API | Get current block height |
| GET | `/v4/data/blockchains/block` | GetBlockBlockchainsApi | Blockchains API | Get block by hash or height |
| GET | `/v4/data/blockchains/block/hash` | GetBlockHashBlockchainsApi | Blockchains API | Get block hash by block number |
| GET | `/v4/data/blockchains/utxo/info` | GetUtxoInfoBlockchainsApi | Blockchains API | Get UTXO info by tx hash and index |
| GET | `/v4/data/blockchains/mempool` | GetMempoolBlockchainsApi | Blockchains API | Get mempool transaction hashes |
| GET | `/v4/data/blockchains/transaction` | GetTransactionBlockchainsApi | Blockchains API | Get transaction by hash |
| GET | `/v4/data/blockchains/transaction/internal` | GetInternalTransactionsBlockchainsApi | Blockchains API | Get internal transactions by address |
| GET | `/v4/data/blockchains/balance` | GetBalanceBlockchainsApi | Blockchains API | Get native balance |
| GET | `/v4/data/blockchains/balance/batch` | GetBalanceBatchBlockchainsApi | Blockchains API | Get native balance (batch) |
| GET | `/v4/data/blockchains/transaction/count` | GetTransactionCountBlockchainsApi | Blockchains API | Get outgoing transaction count |
| GET | `/v4/data/blockchains/transaction/history/utxos` | GetTransactionHistoryUtxosBlockchainsApi | Blockchains API | Get transaction history (UTXO) |
| POST | `/v4/data/blockchains/transaction/history/utxos/batch` | GetTransactionHistoryUtxosBatchBlockchainsApi | Blockchains API | Get transaction history (UTXO) batch |
| GET | `/v4/data/tokens` | GetTokensV4 | Token API | Get information about collection or token |
| GET | `/v4/data/tokens/trending` | GetTrendingTokensV4 | Token API | Get trending tokens |
| GET | `/v4/data/tokens/newest` | GetNewestTokensV4 | Token API | Get newest tokens |
| GET | `/v4/data/tokens/popular` | GetPopularTokensV4 | Token API | Get popular tokens |
| GET | `/v4/data/tokens/popular/history` | GetPopularTokensHistoryV4 | Token API | Get popular tokens history |
| GET | `/v4/data/transactions/dna` | GetTransfersDnaV4 | Token API | Get transactions DNA |
| GET | `/v4/data/rate/history` | getExchangeRateHistoryBySymbol | Token API | Get Exchange Rate History by Symbol |
| GET | `/v4/data/utxos` | GetUtxosByAddressV4 | Wallet API | Get unspent UTXOs for an address |
| POST | `/v4/data/utxos/batch` | GetUtxosByAddressBatchV4 | Wallet API | Get unspent UTXOs for a batch of addresses |
| GET | `/v3/security/address/{address}` | CheckMalicousAddress | Security API | Check malicous address |
| GET | `/v4/data/rate/symbol` | getExchangeRateBySymbol | Exchange rate | Get Exchange Rate by Symbol |
| POST | `/v4/data/rate/symbol/batch` | getExchangeRatesBySymbol | Exchange rate | Get Exchange Rate by Symbol - Batch |
| GET | `/v4/data/rate/symbol/OHLCV` | getSymbolOHLCV | Exchange rate | Get OHLCV by Symbol |
| GET | `/v4/data/rate/symbol/OHLCV/batch` | getSymbolOHLCVBatch | Exchange rate | Get OHLCV by Symbol - Batch |
| GET | `/v4/data/rate/price-change` | getPriceChange | Exchange rate | Get Price Change by Symbol |
| POST | `/v4/data/rate/price-change/batch` | getPriceChangeBatch | Exchange rate | Get Price Change by Symbol - Batch |
| GET | `/v4/data/rate/contract` | getExchangeRateByContractAddress | Exchange rate | Get Exchange Rate by Contract |
| POST | `/v4/data/rate/contract/batch` | getExchangeRatesByContractAddress | Exchange rate | Get Exchange Rate by Contract - Batch |
| GET | `/v4/data/staking/native/current-assets` | GetCurrentStakedAssetsV4 | Staking | Get current staked assets |
| GET | `/v4/data/staking/native/current-assets-by-validator` | GetCurrentStakedAssetsByValidatorV4 | Staking | Get current staked assets by validator |
| GET | `/v4/data/staking/native/rewards` | GetStakedAccountRewardsV4 | Staking | Get staked account rewards |
| POST | `/v4/data/staking/native/rewards/batch` | GetStakedAccountRewardsBatchV4 | Staking | Get staked account rewards - Batch |
| GET | `/v4/data/staking/native/transactions` | GetStakingTransactionsV4 | Staking | Get staking transactions |
| GET | `/v4/data/staking/native/pools` | GetStakingPoolsV4 | Staking | Get staking pools |
| GET | `/v4/data/staking/liquid/current-assets` | GetLiquidStakingCurrentAssetsV4 | Staking | Get liquid staking current assets |
| GET | `/v4/data/staking/liquid/pools` | GetLiquidStakingPoolsV4 | Staking | Get liquid staking pools |
| GET | `/v4/data/mining/rewards` | GetMiningRewardsV4 | Mining API | Get mining rewards |
| GET | `/v4/data/mining/totalRewards` | GetTotalMiningRewardsV4 | Mining API | Get total mining rewards |
| POST | `/v4/blockchainOperations/gas` | estimateGas | Fee Estimation API | Estimate gas for a transfer |
| GET | `/v3/blockchain/fee/{chain}` | getBlockchainFee | Fee Estimation API | Get recommended base fee for a chain |
| POST | `/v3/blockchain/estimate` | EstimateFeeBlockchain | Fee Estimation API | Estimate gas for a transaction |
| POST | `/v3/ethereum/gas/batch` | EthEstimateGasBatch | Fee Estimation API | Estimate the fee for multiple Ethereum transactions |
| POST | `/v3/xdc/gas` | XdcEstimateGas | Fee Estimation API | Estimate the fee for a XinFin transaction |
| POST | `/v3/vet/transaction/gas` | VetEstimateGas | Fee Estimation API | Estimate the gas needed for a VeChain transaction |
| GET | `/v4/data/marketplace/cryptoslam/token/trending` | GetCryptoslamTrendingTokens | Marketplace | Get trending tokens from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/price` | GetCryptoslamTokenPrice | Marketplace | Get token prices from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/price/history` | GetCryptoslamTokenPriceHistory | Marketplace | Get token price history from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/price/exotic` | GetCryptoslamTokenPriceExotic | Marketplace | Get exotic token prices from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/price/exotic/history` | GetCryptoslamTokenPriceExoticHistory | Marketplace | Get exotic token price history from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/trades` | GetCryptoslamTokenTrades | Marketplace | Get token trades from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/transfers` | GetCryptoslamTokenTransfers | Marketplace | Get token transfers from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/transfers/dna` | GetCryptoslamTokenTransfersDna | Marketplace | Get token transfers with DNA from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/token/holder/reputation` | GetCryptoslamTokenHolderReputation | Marketplace | Get token holder reputation from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/chain/trades` | GetCryptoslamChainTrades | Marketplace | Get chain trades from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/chain/trades/dna` | GetCryptoslamChainTradesDna | Marketplace | Get chain trades DNA from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/chain/transfers` | GetCryptoslamChainTransfers | Marketplace | Get chain transfers from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/chain/transfers/dna` | GetCryptoslamChainTransfersDna | Marketplace | Get chain transfers DNA from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/wallet/trades` | GetCryptoslamWalletTrades | Marketplace | Get wallet trades from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/wallet/trades/dna` | GetCryptoslamWalletTradesDna | Marketplace | Get wallet trades DNA from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/wallet/transfers` | GetCryptoslamWalletTransfers | Marketplace | Get wallet transfers from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/wallet/transfers/dna` | GetCryptoslamWalletTransfersDna | Marketplace | Get wallet transfers DNA from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/pair/trades` | GetCryptoslamPairTrades | Marketplace | Get pair trades from Cryptoslam |
| GET | `/v4/data/marketplace/cryptoslam/pair/trades/dna` | GetCryptoslamPairTradesDna | Marketplace | Get pair trades DNA from Cryptoslam |
| POST | `/v4/data/storage/upload` | StorageUpload | Storage API | Upload a file to Walrus storage |
| GET | `/v4/data/storage/uploads` | StorageListUploads | Storage API | List Walrus storage uploads |
| GET | `/v4/data/storage/upload/{jobId}` | StorageGetUploadStatus | Storage API | Get Walrus storage upload status |
| DELETE | `/v4/data/storage/upload/{jobId}` | StorageCancelRenewal | Storage API | Cancel Walrus storage renewal |
| GET | `/v4/data/prediction/events` | GetPredictionEvents | Prediction API | List prediction-market events |
| GET | `/v4/data/prediction/events/{id}` | GetPredictionEventById | Prediction API | Get a prediction-market event by ID |
| GET | `/v4/data/prediction/markets` | GetPredictionMarkets | Prediction API | List prediction markets |
| GET | `/v4/data/prediction/markets/{id}` | GetPredictionMarketById | Prediction API | Get a prediction market by ID |
| GET | `/v4/data/prediction/markets/{id}/price` | GetPredictionMarketPrice | Prediction API | Get current market price |
| GET | `/v4/data/prediction/markets/{id}/orderbook` | GetPredictionMarketOrderbook | Prediction API | Get current market orderbook |
| GET | `/v4/data/prediction/markets/{id}/history` | GetPredictionMarketPriceHistory | Prediction API | Get market price history |
| GET | `/v4/data/prediction/markets/{id}/trades` | GetPredictionMarketTrades | Prediction API | Get recent market trades |
| GET | `/v4/data/prediction/markets/{id}/positions` | GetPredictionMarketPositions | Prediction API | Get top holders of a market |
| GET | `/v4/data/prediction/wallets/{address}/portfolio` | GetPredictionWalletPortfolio | Prediction API | Get wallet portfolio summary |
| GET | `/v4/data/prediction/wallets/{address}/positions` | GetPredictionWalletPositions | Prediction API | Get wallet open positions |
| GET | `/v4/data/prediction/wallets/{address}/history` | GetPredictionWalletHistory | Prediction API | Get wallet closed positions |
| GET | `/v4/data/prediction/wallets/{address}/trades` | GetPredictionWalletTrades | Prediction API | Get wallet trade history |
| GET | `/v4/data/prediction/wallets/{address}/activity` | GetPredictionWalletActivity | Prediction API | Get wallet activity feed |
| GET | `/v4/data/prediction/wallets/{address}/value` | GetPredictionWalletValue | Prediction API | Get wallet open-position notional |
| GET | `/v4/data/prediction/wallets/{address}/markets-traded` | GetPredictionWalletMarketsTraded | Prediction API | Get wallet markets-traded count |
| GET | `/v4/data/prediction/top-traders` | GetPredictionTopTraders | Prediction API | Get top traders leaderboard |
| GET | `/v4/data/prediction/search` | GetPredictionSearch | Prediction API | Unified search (events / tags / profiles) |
| GET | `/v4/data/security/contract/risk` | CheckContractRiskV4 | Security API | Analyze contract risk |
| POST | `/v4/data/security/transaction/simulate` | SimulateTransactionV4 | Security API | Simulate a transaction with risk analysis |
| POST | `/v4/data/security/domain/check` | CheckDomainV4 | Security API | Check a domain for phishing |
## Blockchain Notifications - operations
- Tags: Notifications, Subscriptions, Templates
- Source:
| method | path | operationId | tags | summary |
| --- | --- | --- | --- | --- |
| GET | `/v4/subscription` | getSubscriptionsV4 | Subscriptions | List all active alerts |
| POST | `/v4/subscription` | createSubscriptionV4 | Subscriptions | Create an alert |
| PUT | `/v4/subscription` | enableWebHookHmac | Notifications | Enable HMAC webhook digest |
| DELETE | `/v4/subscription` | disableWebHookHmac | Notifications | Disable HMAC webhook digest |
| GET | `/v4/subscription/count` | getSubscriptionsCount | Subscriptions | Count of alerts |
| GET | `/v4/subscription/{id}` | getSubscriptionV4 | Subscriptions | Get alert by ID |
| PUT | `/v4/subscription/{id}` | updateSubscription | Subscriptions | Update alert |
| DELETE | `/v4/subscription/{id}` | deleteSubscription | Subscriptions | Cancel existing alert |
| PUT | `/v4/subscription/batch` | updateSubscriptionsByChain | Subscriptions | Update alerts by chain |
| GET | `/v4/subscription/webhook` | getAllWebhooksV4 | Notifications | List all executed webhooks |
| GET | `/v4/subscription/webhook/count` | getAllWebhooksCount | Notifications | Count of found entities for get webhook request |
| POST | `/v4/subscription/webhook/{id}/retry` | retryWebhookV4 | Notifications | Retry a failed webhook |
| GET | `/v4/subscription/template` | getNotificationTemplates | Templates | List all notification templates (V4) |
| POST | `/v4/subscription/template` | createNotificationTemplate | Templates | Create a notification template (V4) |
| GET | `/v4/subscription/template/default` | getDefaultNotificationTemplate | Templates | Get the default notification template |
| PUT | `/v4/subscription/template/default` | updateDefaultNotificationTemplate | Templates | Update the default notification template |
| PUT | `/v4/subscription/template/{id}` | updateNotificationTemplate | Templates | Update notification template (V4) |
| DELETE | `/v4/subscription/template/{id}` | deleteNotificationTemplate | Templates | Delete notification template (V4) |
| POST | `/v3/subscription` | createSubscription | Subscriptions | Create an alert |
## Machine-readable
- Index: `/api/openapi-index` -
- Raw schema: `/openapi/blockchain-data.json` -
- Raw schema: `/openapi/notifications.json` -
---
# Authentication
> How AI agents authenticate against Tatum: pass your API key in the x-api-key header on every request. No OAuth flow. Where to store keys for MCP, apps, and CI.
- canonical:
- html:
## API key
Every call carries an API key in the `x-api-key` request header. Get one from the Tatum dashboard.
```http
GET /v4/data/wallet/portfolio?address=0x...&chain=ethereum-mainnet
Host: api.tatum.io
x-api-key: tatum_xxx
```
## Where the key lives
Read `TATUM_API_KEY` from the environment everywhere. Never commit it, and never put it in client-side code.
| Surface | Location | Note |
| --- | --- | --- |
| Blockchain MCP | env in your MCP client JSON | Lives in the editor config, never in the repo. |
| Backend app | .env or a secret manager | Server side only. The key is not public. |
| CI | GitHub Actions · GitLab · Vercel · Cloudflare | One key per environment, so you can rotate one at a time. |
| Local shell | export TATUM_API_KEY=… | Fine for scratch work. Rotate the key when you are done. |
## Check it in one call
A JSON body means the key works. A 401 means the header is missing or wrong. A 429 means the request was rate limited.
```bash
curl -s -H "x-api-key: $TATUM_API_KEY" \
"https://api.tatum.io/v4/data/exchange-rate?currency=ETH&basePair=USD"
```
- 200 — The key works: A JSON body comes back. Nothing else to do.
- 401 — Header missing or wrong: Check the spelling of x-api-key and that the variable resolved.
- 429 — Rate limited: Back off and retry. Do not hammer the API in a loop.
---
# Safety
> Operational guidance for agents wired into blockchain infrastructure. Read APIs by default, no transaction signing, and a human confirmation for anything that changes state.
- canonical:
- html:
## Defaults
- Query before you act. Use inspect tools before anything that moves funds or changes state.
- Check the address format. The wrong chain usually returns empty data, not an error.
- Prefer webhooks to polling. Subscribe to events instead of calling RPC or REST in a loop.
- Limit retries. A 429 is a signal to wait, not to try harder.
- Private keys and API keys stay in the environment and never enter the model context.
## Boundaries
**No transaction signing** - These pages document read APIs and gateway access. Transaction signing belongs in your wallet, KMS, or signer.
**Human in the loop** - Deleting webhooks, rotating keys, and gateway writes all need human confirmation.
**Per-chain validation** - EVM, Bitcoin, Solana, Cardano, and others have incompatible address formats. Always check the chain prefix.
## References
- Auth guide:
- MCP page:
- Workflows:
---
# RPC Gateway - capability
> Direct JSON-RPC and chain-native protocol access to 130+ networks through a single managed gateway.
- canonical:
- category: rpc
- risk: low
## Why agents use it
Lets agents query chain state, simulate transactions, and call contracts without operating their own nodes.
## MCP tools
- `gateway_get_supported_chains`
- `gateway_get_supported_methods`
- `gateway_execute_rpc`
## Related workflows
-
## Docs
-
## Notes
## Canonical recipe
End-to-end procedure: [RPC Diagnostic Agent](/workflows/rpc-diagnostic-agent). Discover chains, list methods, execute a diagnostic RPC call.
## Risk
Read-only by default. Write methods exist on most chains but must be gated by human approval in agentic flows.
---
# Wallet Portfolio - capability
> Aggregated balances, tokens, and historical positions for any wallet across supported chains.
- canonical:
- category: data
- risk: low
## Why agents use it
Lets agents answer "what does this wallet hold?" with one call, instead of crawling chains per-asset.
## MCP tools
- `get_wallet_portfolio`
- `get_wallet_balance_by_time`
- `get_tokens`
## Related workflows
-