GET /api/x/:handle
The public record of one X account: every token that names it, what each has credited, what has been paid or burned, and what is waiting to be claimed. No sign-in needed, which is the point: this is what you send to someone who has not found out yet.
Request
GET /api/x/alice
GET /api/x/@AliceThe handle is 1 to 15 letters, digits or underscores, with or without the @. Case does not matter; both requests above return the same account.
Response
{
"handle": "alice",
"displayHandle": "Alice",
"name": "Alice",
"avatarUrl": "https://…",
"followers": 12800,
"claimed": true,
"routing": "hold",
"declined": false,
"creditedLamports": "612000000",
"paidLamports": "400000000",
"burnedLamports": "0",
"balanceLamports": "212000000",
"tokens": [
{
"mint": "<base58>",
"name": "Example",
"symbol": "EXAMPLE",
"imageUrl": "/api/token-images/<mint>",
"bps": 6000,
"creditedLamports": "412000000"
}
],
"payouts": [
{
"id": 7,
"lamports": "400000000",
"wallet": "<base58>",
"kind": "claim",
"status": "confirmed",
"signature": "<base58>",
"createdAt": "2026-09-29T09:02:11.000Z",
"confirmedAt": "2026-09-29T09:03:40.000Z"
}
]
}| Field | Type | Meaning |
|---|---|---|
claimed | boolean | The account has signed in at least once |
routing | string or null | hold, autopay or burn. Null until the first sign-in, which behaves as Hold |
declined | boolean | The account declined publicly |
creditedLamports | string | Every credit from every token, to every handle of this account |
paidLamports | string | Payouts that have not failed, including any still queued or in flight |
burnedLamports | string | Credits routed to buy and burn |
balanceLamports | string | Credited minus paid minus burned: what is waiting to be claimed |
tokens | array | Every token naming this account, with the share in basis points and what it has credited |
payouts | array | Payouts to this account, newest first, with the wallet, the kind (claim or autopay) and the signature once sent |
Keyed by handle, summed by account
This endpoint is keyed by handle because a handle is what people know. The money behind it belongs to the X user id pinned to the handle, as described on Recipients & shares, so once a handle is pinned the figures cover every handle pinned to the same id. An account that renamed shows the same totals under each of its handles that a token names. A handle that is not pinned yet shows its own credits only, and no payouts, since nobody has claimed it.
Errors
| Status | When |
|---|---|
| 400 | Not a valid X handle |
| 404 | No token launched here names this handle yet |
| 429 | Over 120 requests a minute from your IP |
Example
# waiting to be claimed, in SOL
curl -s https://slicepad.fun/api/x/alice \
| jq -r '.balanceLamports' \
| awk '{printf "%.9f SOL\n", $1 / 1e9}'