Wallet portfolio and history

Returns JSON with a wallet's native and major-token balances on Ethereum, Base or Solana plus its latest transfers in and out, in one call, leaving airdrop spam out.

Use when you need a multi-chain wallet balance, a wallet portfolio or the recent transaction history of an address on Ethereum, Base or Solana.

Do not use for USD values, NFTs, DeFi positions, long-tail tokens or chains beyond Ethereum, Base and Solana.

Price: 0.005 USDC per call (x402, eip155:8453). Typical response time: 3000 ms (p95).

Call it over HTTP (x402)

POST https://x402-gateway.blackwoodstate8.workers.dev/v1/wallet-portfolio. A request without payment gets 402 Payment Required with the PAYMENT-REQUIRED header; any x402 client signs an EIP-3009 authorization and retries with PAYMENT-SIGNATURE (or X-PAYMENT). Invalid input is answered with 400 and not charged.

curl -i -X POST https://x402-gateway.blackwoodstate8.workers.dev/v1/wallet-portfolio -H 'content-type: application/json' -d '{"address":"0xFf918CFB0690FdEd4224DBDab916F6E6F78882b7","chains":["base"],"historyLimit":2}'
Pay to0x7977C8762F242873eBc7DF422d2d3FBdd15065ED
Asset0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC)
Amount5000 atomic units (0.005 USDC)
Authorization window60 s

Call it over MCP

Streamable HTTP at https://x402-gateway.blackwoodstate8.workers.dev/mcp, tool blackwood_wallet_portfolio. Payment goes in _meta["x402/payment"]; without it the tool returns the payment requirements.

Input

FieldTypeMeaning
addressstringWallet address: 0x... for Ethereum and Base, or a Solana address, e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
chains (optional)arrayChains to read (ethereum and base for a 0x address, solana for a Solana address, when omitted), e.g. ["base"]
historyLimit (optional)integerLatest transfers to return per chain, 0 to 25 (10 when omitted), e.g. 5

Example:

{
  "address": "0xFf918CFB0690FdEd4224DBDab916F6E6F78882b7",
  "chains": [
    "base"
  ],
  "historyLimit": 2
}

Output

Real example:

{
  "address": "0xFf918CFB0690FdEd4224DBDab916F6E6F78882b7",
  "ethereum": null,
  "base": {
    "native": {
      "symbol": "ETH",
      "balance": "0"
    },
    "tokens": [
      {
        "symbol": "USDC",
        "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "decimals": 6,
        "balance": "0.015"
      }
    ],
    "history": [
      {
        "hash": "0xeca4b84c7be1b01b92314dd139ba623f4065ea2d9af702cdca1a6e006fc92f09",
        "time": "2026-10-17T23:55:53.000Z",
        "direction": "in",
        "counterparty": "0x87db3c25d1e8e40f8ef240d48a711b0c355cf8cf",
        "asset": "USDC",
        "amount": "0.005"
      },
      {
        "hash": "0x618c2559d32eef4fa33af283a53db6e96dacd049c22a586a8dc4bc3a603326e4",
        "time": "2026-10-17T23:54:41.000Z",
        "direction": "in",
        "counterparty": "0x87db3c25d1e8e40f8ef240d48a711b0c355cf8cf",
        "asset": "USDC",
        "amount": "0.005"
      }
    ]
  },
  "solana": null,
  "updatedAt": "2026-10-18T02:46:08.863Z",
  "note": "Balances of the native coin and major tokens of each chain (a fixed list; airdrop spam and long-tail tokens are left out). History: the latest native and major-token transfers in and out; on Solana, the net change per transaction. Amounts are decimal strings in token units, without USD values."
}
JSON Schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string"
    },
    "ethereum": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "native": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "balance": {
                  "type": "string"
                }
              },
              "required": [
                "symbol",
                "balance"
              ],
              "additionalProperties": false
            },
            "tokens": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "symbol": {
                    "type": "string"
                  },
                  "contract": {
                    "type": "string"
                  },
                  "decimals": {
                    "type": "number"
                  },
                  "balance": {
                    "type": "string"
                  }
                },
                "required": [
                  "symbol",
                  "contract",
                  "decimals",
                  "balance"
                ],
                "additionalProperties": false
              }
            },
            "history": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "hash": {
                    "type": "string"
                  },
                  "time": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "in",
                      "out",
                      "self"
                    ]
                  },
                  "counterparty": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "asset": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  }
                },
                "required": [
                  "hash",
                  "time",
                  "direction",
                  "counterparty",
                  "asset",
                  "amount"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "native",
            "tokens",
            "history"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "base": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "native": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "balance": {
                  "type": "string"
                }
              },
              "required": [
                "symbol",
                "balance"
              ],
              "additionalProperties": false
            },
            "tokens": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "symbol": {
                    "type": "string"
                  },
                  "contract": {
                    "type": "string"
                  },
                  "decimals": {
                    "type": "number"
                  },
                  "balance": {
                    "type": "string"
                  }
                },
                "required": [
                  "symbol",
                  "contract",
                  "decimals",
                  "balance"
                ],
                "additionalProperties": false
              }
            },
            "history": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "hash": {
                    "type": "string"
                  },
                  "time": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "in",
                      "out",
                      "self"
                    ]
                  },
                  "counterparty": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "asset": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  }
                },
                "required": [
                  "hash",
                  "time",
                  "direction",
                  "counterparty",
                  "asset",
                  "amount"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "native",
            "tokens",
            "history"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "solana": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "native": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "balance": {
                  "type": "string"
                }
              },
              "required": [
                "symbol",
                "balance"
              ],
              "additionalProperties": false
            },
            "tokens": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "symbol": {
                    "type": "string"
                  },
                  "contract": {
                    "type": "string"
                  },
                  "decimals": {
                    "type": "number"
                  },
                  "balance": {
                    "type": "string"
                  }
                },
                "required": [
                  "symbol",
                  "contract",
                  "decimals",
                  "balance"
                ],
                "additionalProperties": false
              }
            },
            "history": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "hash": {
                    "type": "string"
                  },
                  "time": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "in",
                      "out",
                      "self"
                    ]
                  },
                  "counterparty": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "asset": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  }
                },
                "required": [
                  "hash",
                  "time",
                  "direction",
                  "counterparty",
                  "asset",
                  "amount"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "native",
            "tokens",
            "history"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "updatedAt": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "next": {
      "type": "object",
      "properties": {
        "service": {
          "type": "string",
          "description": "Service id of the suggested next paid call"
        },
        "tool": {
          "type": "string",
          "description": "MCP tool name of the same call"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "POST"
          ]
        },
        "url": {
          "type": "string",
          "description": "Paid route of the next call"
        },
        "useWhen": {
          "type": "string",
          "description": "When the next call is the right one"
        },
        "sample": {
          "type": "string",
          "description": "Free fixed sample of the whole family"
        }
      },
      "required": [
        "service",
        "tool",
        "method",
        "url",
        "useWhen",
        "sample"
      ],
      "additionalProperties": false,
      "description": "Suggested next paid call in the same family (call it in a loop when the task continues)"
    }
  },
  "required": [
    "address",
    "ethereum",
    "base",
    "solana",
    "updatedAt",
    "note"
  ],
  "additionalProperties": false
}

More

Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/wallet-portfolio. OpenAPI 3.1 · llms.txt · All services