Skip to content

Wallets ranked by Smart Score

GET
/smart-money/top
curl --request GET \
--url 'https://api.getchord.xyz/v1/smart-money/top?chain=5042&source=onchain&window=24h&category=all&limit=50'

Which wallets make money on the chain, from the tape, ranked by a skill-adjusted score rather than raw profit (realized-weighted, luck-corrected, recency-decayed). Routers, executors and bots are removed before ranking (botsRemoved counts them). On Arc the board moves between rebuilds: a live delta of the last minutes’ trades sits on top of the last roll (live).

Notes: source=onchain is required on 5042 / 4663. The board is rebuilt on a schedule per window (15 min for 24h, hourly for 7d / 30d, 3 h for all) and served from cache in between. 503 CHAIN_NOT_ENABLED until the board is published for the chain.

chain
required
integer
default: 143
Allowed values: 5042 4663 143

Chain id: 5042 Arc · 4663 Robinhood Chain · 143 Monad. Omitted = 143.

source
required
string
Allowed values: onchain nullterminal

onchain = every venue, from the tape. Required on 5042 and 4663.

window
string
default: all
Allowed values: 24h 7d 30d all
category
string
default: all
Allowed values: all memes majors
limit
integer
default: 50 >= 1 <= 100
Media typeapplication/json
object
wallets
Array<object>
object
wallet

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
pnlUsd

Realized plus open PnL at current prices.

number
realizedUsd
number
unrealizedUsd
number
volumeUsd
number
trades
integer
tokensTraded
integer
winningTokens
integer
winRate

0–1.

number
topToken
object
symbol
string | null
pnlUsd
number
lastActiveTs

Unix time, seconds, UTC.

integer
pnlMeme
number
pnlMajor
number
memeVol
number
archetype

degen · allrounder · majors …

string
memeShare
number
winRateAdj

Luck-corrected win rate.

number
smartScore

The ranking key: realized-weighted, luck-corrected, recency-decayed profit.

number
totalWallets

Wallets that qualified after the bot passes.

integer
window
string
category
string
chain
integer
source
string
indexedToBlock

The chain block the tape had reached when this board was built.

integer
updatedAt

Unix time, milliseconds — when the server built this answer.

integer
live

Arc only — the in-memory delta on top of the last roll.

object
key
additional properties
any
botsRemoved
object
cadence
integer
nonceOrDenylist
integer
behavior
integer
note
string
Example
{
"wallets": [
{
"wallet": "0xb145400da27a2497d9fc2cd5621f2bfd37617af4",
"pnlUsd": 85260.25886163529,
"realizedUsd": 28166.924288181075,
"unrealizedUsd": 57093.33457345421,
"volumeUsd": 68986.38694614707,
"trades": 49,
"tokensTraded": 5,
"winningTokens": 3,
"winRate": 0.6,
"topToken": {
"symbol": "ARGUS",
"pnlUsd": 85345.61369765387
},
"lastActiveTs": 1789890946,
"pnlMeme": 85260.25886163529,
"pnlMajor": 0,
"memeVol": 68986.38694614707,
"archetype": "degen",
"memeShare": 1,
"winRateAdj": 0.5294117647058824,
"smartScore": 43067.763434718785
},
{
"wallet": "0xf8218b98f49b86c7e491079591acc08ee4fd6e7e",
"pnlUsd": 53891.271617383565,
"realizedUsd": 26940.46261686956,
"unrealizedUsd": 26950.809000514004,
"volumeUsd": 150140.03604099998,
"trades": 70,
"tokensTraded": 11,
"winningTokens": 9,
"winRate": 0.8181818181818182,
"topToken": {
"symbol": "ARGUS",
"pnlUsd": 22862.25828632662
},
"lastActiveTs": 1789890046,
"pnlMeme": 53891.271617383565,
"pnlMajor": 0,
"memeVol": 150140.03604099998,
"archetype": "degen",
"memeShare": 1,
"winRateAdj": 0.6521739130434783,
"smartScore": 32966.26695083121
}
],
"totalWallets": 92826,
"window": "7d",
"category": "all",
"chain": 5042,
"source": "onchain",
"indexedToBlock": 21808217,
"updatedAt": 1789891859855,
"live": {
"rollStamp": 1789891728,
"buckets": 21,
"rows": 253,
"seen": 1261,
"ingested": 1261,
"skippedDup": 0,
"computedAt": 0
},
"botsRemoved": {
"cadence": 325,
"nonceOrDenylist": 5,
"behavior": 37
},
"note": "ranked by Smart Score — skill-adjusted, realized-weighted profit (est. at current prices)"
}

Invalid parameters — error names the check that failed (INVALID_PARAMS, BAD_ADDRESS, BAD_LIMIT, BAD_HOURS, …).

Media typeapplication/json

Every non-2xx body.

object
error
required

Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.

string
message

For humans.

string
statusCode

HTTP status, when included.

integer
Example
{
"error": "INVALID_PARAMS",
"message": "amount must be an integer string in the token's smallest unit"
}

The lane behind this endpoint is not ready or not enabled here (NOT_READY, CHAIN_NOT_ENABLED, NOT_ENABLED, *_UNAVAILABLE). Retry later; do not treat it as an empty answer.

Media typeapplication/json

Every non-2xx body.

object
error
required

Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.

string
message

For humans.

string
statusCode

HTTP status, when included.

integer
Example
{
"error": "INVALID_PARAMS",
"message": "amount must be an integer string in the token's smallest unit"
}