# Wallet Real Value: EVM Sell Value & Fake Token Checker (`eliai/wallet-real-value`) Actor

Scan any EVM wallet or ENS name across 29 chains: every token re-read on-chain, valued at what selling the FULL balance would really pay (not spot x balance), fake airdrops and honeypots caught by a simulated transfer, plus claimable Clanker/Doppler/Zora fees. No API key.

- **URL**: https://apify.com/eliai/wallet-real-value.md
- **Developed by:** [Broke to Built](https://apify.com/eliai) (community)
- **Categories:** Developer tools, AI, Automation
- **Stats:** 3 total users, 2 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00 / 1,000 scanned wallets

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Wallet Real Value — what an EVM wallet would actually sell for (29 chains)

Paste any EVM wallet address or ENS / Basename. This Actor finds every native coin and ERC-20 the
wallet holds across **29 EVM chains**, re-reads every balance on-chain, and values each token at what
**selling the entire balance** would really pay, instead of spot price × balance. It also catches fake
airdrop balances and sell-blocking honeypots, and lists fees and rewards the wallet can claim.

Same engine as the free web app **[walletcheck.broke2builtai.com](https://walletcheck.broke2builtai.com)**.
Every result links to the visual report for that wallet.

### Why "real value" differs from every portfolio tracker

Spot × balance assumes infinite liquidity. Wallets full of launch tokens and airdrops break that:

- **vitalik.eth** (measured 2026-10-06): paper value **$1.65M**, full-balance sell value **$795k**.
  Its largest token alone reads $1.01M on paper and $571k sellable.
- Airdropped "claim" tokens often report a balance from `balanceOf` that does not exist: a
  transfer from the wallet reverts. This Actor simulates that transfer and values those tokens at **$0**.
- A thin pool's displayed liquidity includes the token's own side. We price against the **buy side**
  only, which is the money a seller can actually take out.

### What you get per wallet

| Field | Meaning |
|---|---|
| `totalRealValueUsd` | Sum of full-balance sell quotes (or pool-exit estimates) + native coins. Fake/unsellable = $0 |
| `totalPaperValueUsd` | Spot × balance, which is what most trackers show |
| `fakeOrUnsellableTokens` | Tokens whose simulated transfer from the wallet reverts |
| `claimableItems` | Clanker fees/vaults, Bankr/Doppler launch fees, Zora vesting + protocol rewards, read on-chain |
| `topHoldings` | Top 10 tokens by real value |
| `chains[]` | Per chain: native balance, every token (amount, price, liquidity, quote, sellable fraction, route, transfer check, flags, DexScreener link), claims, indexer stats |
| `accountKind` | Contract wallets and EIP-7702 delegations per chain |
| `reportUrl` | Visual report on walletcheck.broke2builtai.com |

### Input

```json
{
  "addresses": ["nick.eth", "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
  "chains": [],
  "sellQuotes": true,
  "sellCheck": true,
  "claims": true,
  "maxQuotedTokensPerChain": 40
}
```

`chains` empty = every chain the wallet has used, plus the 8 largest (eth, base, arb, op, polygon,
bnb, avax, linea) so receive-only wallets are not missed. Keys include `base, eth, arb, op, polygon,
bnb, avax, linea, unichain, zksync, scroll, blast, gnosis, celo, worldchain, ink, soneium, zora,
abstract, apechain, berachain, monad, ronin, hyperevm, shape, lens, story` and more.

### Use it from an AI agent

- **Apify API** (sync, returns the dataset):
  `POST https://api.apify.com/v2/acts/eliai~wallet-real-value/run-sync-get-dataset-items?token=YOUR_TOKEN`
  with the JSON input above.
- **Apify MCP server**: add `eliai/wallet-real-value` to `https://mcp.apify.com` and your agent can
  call it as a tool.
- **Agent skill file**: [walletcheck.broke2builtai.com/SKILL.md](https://walletcheck.broke2builtai.com/SKILL.md)
  is a drop-in skill for Claude Code and other agents.

### Pricing

Pay per event: **$0.02 per wallet scanned.** Bad input and wallets that fail to scan are not charged.

### Speed and limits

- A typical wallet takes 30–60 s. Huge airdrop-farm wallets (vitalik.eth: 11,000+ tokens) take ~3 min.
- Up to 50 wallets per run. Sell quotes cover the `maxQuotedTokensPerChain` most valuable tokens per
  chain; totals for the rest use the pool-exit estimate.
- Quotes are estimates from KyberSwap at run time, not offers. Read-only: no wallet connection,
  no signatures, nothing stored.

### FAQ

**Is this a portfolio tracker?** It is a liquidation-value checker: what you would receive if you sold,
not what a chart says the tokens are worth.

**Which chains?** 29 EVM chains including Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain,
Avalanche, Linea, zkSync, Scroll, Blast, Zora, Unichain, Monad, Berachain, HyperEVM and Abstract.

**Solana?** Not yet. EVM only.

**Does it need an API key?** No. Results come from public RPCs, indexers and aggregators via the walletcheck engine.

### Changelog

- **0.1 (2026-10-06)** First release, wrapping the walletcheck engine (sell quotes, transfer simulation,
  claims across 29 chains).

Built by [Broke to Built](https://broke2builtai.com).

# Actor input Schema

## `addresses` (type: `array`):

EVM wallet addresses (0x...) or ENS / Basenames (vitalik.eth, name.base.eth). One result per wallet, up to 50 per run.

## `chains` (type: `array`):

Limit to these chain keys, e.g. base, eth, arb, op, polygon, bnb, avax, linea, unichain, zora, blast, scroll... Empty = every chain the wallet has used, plus the 8 largest.

## `sellQuotes` (type: `boolean`):

Quote selling each token's entire balance via KyberSwap; when the full bag has no route, find the largest slice that does.

## `sellCheck` (type: `boolean`):

Simulate a transfer from the wallet into the sell pool. Fake-balance airdrops and sell-blocking honeypots revert and are valued at $0.

## `claims` (type: `boolean`):

Clanker creator fees and vaults, Bankr/Doppler launch fees, Zora creator vesting and protocol rewards, read on-chain.

## `includeSpam` (type: `boolean`):

Keep tokens whose name or symbol is a URL / 'claim' lure. Off by default.

## `maxQuotedTokensPerChain` (type: `integer`):

Most valuable first. Big airdrop-farm wallets hold thousands; raise for completeness, lower for speed.

## `maxTokensPerChainInOutput` (type: `integer`):

Rows in each chain's token list (totals always count every token).

## Actor input object example

```json
{
  "addresses": [
    "nick.eth"
  ],
  "chains": [],
  "sellQuotes": true,
  "sellCheck": true,
  "claims": true,
  "includeSpam": false,
  "maxQuotedTokensPerChain": 40,
  "maxTokensPerChainInOutput": 100
}
```

# Actor output Schema

## `results` (type: `string`):

One record per wallet. Export as JSON, CSV or Excel from the dataset view.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "addresses": [
        "nick.eth"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("eliai/wallet-real-value").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "addresses": ["nick.eth"] }

# Run the Actor and wait for it to finish
run = client.actor("eliai/wallet-real-value").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "addresses": [
    "nick.eth"
  ]
}' |
apify call eliai/wallet-real-value --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,eliai/wallet-real-value"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/1uhgaaNTYxKB2J6bQ/builds/3eIW6vF5QCuiYGmr3/openapi.json
