# AgentToll Base Portfolio Snapshot

> AgentToll Base Portfolio Snapshot is a paid API for AI agents from agenttoll.app, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-07).

Returns a full token portfolio snapshot for a Base address, including ETH balance, ERC-20 holdings with USD values, and aggregate totals

## Facts

- Endpoint: GET https://agenttoll.app/api/base/portfolio/%7Baddress%7D?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-07
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agenttoll-base-portfolio-snapshot-79b37fd9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_IXrFidvgzzR_gkC6vqD0-

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agenttoll-base-portfolio-snapshot-79b37fd9
```

Example prompt: What tokens does Base wallet 0x1985...5c87 hold right now — show me up to 20 holdings worth at least $10 each, with their USD values and the total portfolio value?

## When to prefer this

Use this endpoint when you need a complete token portfolio snapshot for a specific Base address, including both native ETH and ERC-20 holdings with live USD prices aggregated in a single call. Prefer it over querying individual token balances separately, or over Ethereum mainnet equivalents when the user specifically cares about Base chain holdings. It is ideal for portfolio valuation, wallet screening, whale monitoring, and onchain net worth calculations on Base.

## Known failure modes

- Invalid address format (not a 0x + 40 hex chars) returns a 400 error
- Address not found or never active on Base returns empty token list with zero values
- Limit parameter out of range (below 1 or above 50) returns a 400 validation error
- Downstream Blockscout outage may cause 503 or stale data
- Price data unavailable for exotic tokens results in those tokens counted in 'unpriced' and excluded from totalUsd
- Payment not provided or insufficient USDC via x402 results in 402 Payment Required

## How this service works

Base-native onchain data for AI agents — gas, token prices by contract, address analytics, DEX pools, new-token radar. From $0.001 a call in USDC via x402. No API keys. Open source.

## Output

A JSON object containing: the timestamp of the snapshot, chain identifier ('base'), ETH native balance with USD price and value, an array of ERC-20 token holdings each with name, symbol, contract address, balance, USD price, and USD value, total portfolio USD value, count of tokens held, count of unpriced tokens, count of holdings hidden below the value floor, and the address's basename if registered.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$"
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "integer",
       "maximum": 50,
       "minimum": 1,
       "description": "Optional. How many holdings to list, default 20"
      },
      "minValue": {
       "type": "number",
       "minimum": 0,
       "description": "Optional. USD floor per holding, default 1"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "at": "2026-08-05T13:31:58.678Z",
  "chain": "base",
  "shown": 1,
  "native": {
   "symbol": "ETH",
   "balance": 194.68,
   "priceUsd": 1868.57,
   "valueUsd": 363774.32
  },
  "source": "blockscout",
  "tokens": [
   {
    "name": "Coinbase Wrapped BTC",
    "symbol": "CBBTC",
    "address": "0xcbb7...33bf",
    "balance": 5.673857,
    "priceUsd": 64198,
    "valueUsd": 364250.29
   }
  ],
  "address": "0x1985...5c87",
  "basename": null,
  "totalUsd": 7143109.27,
  "unpriced": 0,
  "tokenCount": 52,
  "minValueUsd": 10000,
  "hiddenBelowFloor": 48
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agenttoll-base-portfolio-snapshot-79b37fd9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agenttoll.app](https://www.zero.xyz/host/agenttoll.app/llms.txt)
