$0.02
per call · USD Coin on Base
Base wallet portfolio breakdown: up to 100 token positions with live USD price and value, portfolio percentage, 24h price change — native ETH included, spam filtered, top 50 returned; truncated:true means the wallet exceeds the 100-position fetched page (totals null then). Plus total value, top-position concentration and an AI bagcheck read. Wallet holdings, wallet portfolio, wallet balance, bagcheck. $0.02 per call.
Endpoint
GET https://x402.ottoai.services/wallet-holdings1
Calls / 30d
1
Unique payers / 30d
Aug 30
Last called
exact
Payment scheme
Call this service
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPay("https://x402.ottoai.services/wallet-holdings", {
method: "GET",
});
const data = await res.json();curl -X GET \
"https://x402.ottoai.services/wallet-holdings?wallet=0xc65a451047094cdd723fff77334d3b9ff8cf28e7" \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"data": {
"analysisStatus": "ok",
"bagcheckRead": "A mid-six-figure Base wallet dominated by ETH (54%) with a meaningful USDC buffer (28%) — closer to a treasury allocation than a degen book. The risk tail is small: DEGEN at 6.4% is the largest alt position and the only notable 24h mover (+5.8%). No unverified-contract positions among the priced holdings; the remaining ~20 tokens are dust under 2% each.",
"chain": "base",
"generatedAt": "2026-06-11T12:00:00.000Z",
"holdings": [
{
"balanceFormatted": "61.6042",
"name": "Ether",
"nativeToken": true,
"portfolioPercentage": 54.2,
"priceChange24hPct": -3.1,
"symbol": "ETH",
"tokenAddress": null,
"usdPrice": 1620.45,
"usdValue": 99826.71,
"verifiedContract": null
},
{
"balanceFormatted": "51230.88",
"name": "USD Coin",
"nativeToken": false,
"portfolioPercentage": 27.8,
"priceChange24hPct": 0,
"symbol": "USDC",
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"usdPrice": 1,
"usdValue": 51230.88,
"verifiedContract": true
},
{
"balanceFormatted": "2950400.10",
"name": "Degen",
"nativeToken": false,
"portfolioPercentage": 6.4,
"priceChange24hPct": 5.8,
"symbol": "DEGEN",
"tokenAddress": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"usdPrice": 0.004,
"usdValue": 11801.6,
"verifiedContract": true
}
],
"tokenCount": 23,
"topPositionPct": 54.2,
"totalUsdValue": 184220.45,
"truncated": false,
"walletAddress": "0xc65a451047094cdd723fff77334d3b9ff8cf28e7"
},
"meta": {
"degraded": false,
"generatedAt": "",
"stalenessSec": 0,
"validUntil": ""
},
"status": "success"
}Payment details
0x0e84ddedaae6a779c462c22a59f301ec31b6b808USD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913Is this your API?
Pin it to the top of Onchain Data and the homepage with a featured placement.
More from Otto AI & similar services
Otto AI · Tweet Search
x402.ottoai.services
Search X/Twitter for any query and get the actual matching tweets — keyword, $CASHTAG, from:handle (a user timeline), @handle (mentions), or boolean OR. Each tweet returns author, full text (long-form note tweets included), timestamp, likes and retweets (reply/quote counts when available). Most-recent-first for real-time monitoring and alerting. Live X search backend, pay-per-call USDC, structured JSON.
Otto AI · Crypto News
x402.ottoai.services
Importance-ranked crypto headlines with per-article source links and publish times, plus a sentiment-scored market brief. Regenerated hourly; meta carries the snapshot's age and a fresh/stale verdict.
Otto AI · Equity News
x402.ottoai.services
Latest company news for a vendor-resolved equity: licensed Finnhub headlines from the trailing seven days with publication time, source, and summary. Only articles that name the company are served — labelled `primary` when the headline names it, `mentioned` when only the summary does — so a symbol-tagged story about another company never fills the list. Redirect URLs withheld; no sentiment is fabricated.