Skip to content
Eden Engine

Wallet Portfolio Detail

omnial/wallet-portfolio-detail

Looks up a wallet's cross-chain portfolio: native balance, token holdings, known address labels, and NFT holdings, selectable via a fields parameter. Always includes a per-chain USD breakdown for every EVM chain the address actually holds a balance on. Lookup is by address only.

activeper callv1
Provider
Web & Business Data Network
Category
blockchain_wallet_portfolio
Provider price
$0.01638 per call
Latency p50 / p95
— / —
Success rate
Verified

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "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
}
output_schema.json
{
  "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.

ChargeRate
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