Contract
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"polygon",
"bsc",
"avalanche",
"arbitrum",
"optimism",
"fantom",
"base"
],
"type": "string",
"description": "Chain filter for tokens and nft. When omitted, all EVM chains the address holds a balance on are queried. Example: ethereum."
},
"fields": {
"type": "string",
"default": "balance,tokens,labels,nft",
"minLength": 1,
"description": "Comma-separated sub-resources to include. Verified: balance, tokens, labels, nft. active_chains is always returned regardless of this setting. Example: balance,labels. Defaults to \"balance,tokens,labels,nft\"."
},
"address": {
"type": "string",
"minLength": 1,
"description": "EVM wallet address (0x hex). Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"nft": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "This specific token's display name."
},
"chain": {
"type": "string",
"description": "Chain the NFT is held on, e.g. polygon."
},
"token_id": {
"type": "string",
"description": "Token ID within the collection, as a string."
},
"usd_price": {
"type": "number",
"description": "Estimated floor/unit price in USD."
},
"collection_name": {
"type": "string"
},
"contract_address": {
"type": "string",
"description": "NFT collection contract address."
}
},
"additionalProperties": true
},
"description": "Present when fields includes nft. Can be large for active wallets -- see usage.md. The upstream provider's own image_url is stripped by this provider's response-shaping hook before it ever reaches an agent (2026-08-31) -- see providers/omnial/hooks.ts's ARRAY_FIELD_KEY_DROPS_BY_TOOL_ID header."
},
"labels": {
"type": "object",
"properties": {
"labels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"confidence": {
"type": "number"
}
},
"additionalProperties": true
}
},
"address": {
"type": "string"
}
},
"description": "Present when fields includes labels.",
"additionalProperties": true
},
"evm_tokens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"chain": {
"type": "string"
},
"price": {
"type": "number",
"description": "Unit price in USD."
},
"symbol": {
"type": "string"
},
"balance": {
"type": "string",
"description": "Token balance as a decimal string."
},
"usd_value": {
"type": "number"
},
"is_verified": {
"type": "boolean"
},
"token_address": {
"type": "string",
"description": "Contract address, or a chain-native pseudo-address like \"eth\"."
}
},
"additionalProperties": true
},
"description": "Present when fields includes tokens. Can be very large for active wallets (hundreds of entries) -- see usage.md. The upstream provider's own logo_url is stripped by this provider's response-shaping hook before it ever reaches an agent (2026-08-31) -- see providers/omnial/hooks.ts's ARRAY_FIELD_KEY_DROPS_BY_TOOL_ID header."
},
"evm_balance": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "The queried address, as provided."
},
"total_usd": {
"type": "number",
"description": "Total USD value across all EVM chains."
},
"chain_balances": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "Chain name, e.g. ethereum."
},
"chain_id": {
"type": "integer",
"description": "Numeric chain ID."
},
"usd_value": {
"type": "number",
"description": "USD value held on this chain."
}
},
"additionalProperties": true
}
}
},
"description": "Present when fields includes balance.",
"additionalProperties": true
},
"active_chains": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain": {
"type": "string",
"description": "Chain name, e.g. ethereum."
},
"chain_id": {
"type": "integer",
"description": "Numeric chain ID."
},
"usd_value": {
"type": "number",
"description": "USD value held on this chain."
}
},
"additionalProperties": true
},
"description": "Always present regardless of fields. Per-chain USD breakdown for every chain the address holds a nonzero balance on -- NOT a bare list of chain names."
}
},
"description": "Wallet portfolio detail, narrowed from the provider's `output.data` object. Only the sub-resources named in the request's `fields` are present (unrequested keys are absent, not null/empty); `active_chains` is always present regardless of `fields`.",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.01638 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 8, 2026
