75trust / 100

User

by pump.x4o2.com in Onchain & crypto

x402 APIPassing, checked 4 h ago

The public profile of one pump.fun user (wallet address, user id, username, bio, follower counts, creation stats) plus their overview. Add include= with any of portfolio (open positions with P&L), summary (period P&L; period=1d|1w|1m|all), balance (wallet value and token balances), created (coins they launched), followers, following, achievements. Use to evaluate a trader seen in holders, traders or the leaderboard.

GET
https://pump.x4o2.com/v1/user/:user
Price
$0.001
per call in USDC
Uptime
100%
last 30 days
Response time
515 ms
633 ms slowest 5%
Last check
Passed
4 h ago, next any minute now

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to call it

GET https://pump.x4o2.com/v1/user/:user

Each call costs $0.001 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

From the listing.

GET https://pump.x4o2.com/v1/user/:user?include=portfolio%2Csummary&maxAge=5&period=1d&stale=0

Parameters

ParameterTypeRequiredDescription
includestringNoComma-separated extras: portfolio, summary, balance, created, followers, following, achievements
maxAgestringNoServe a cached copy up to this many seconds old; 0 forces the freshest allowed
periodstringNoFor summary: 1d, 1w, 1m or all
stalestringNo1 returns any cached copy immediately and refreshes in the background

Example response

The provider's example. We can't check it without paying. Shortened for display.

Example response, 301 lines
{
  "data": {
    "achievements": null,
    "balance": {
      "data": {
        "dust_count": 236,
        "dust_value_usd": 3.4156197371838806,
        "hidden_count": 43,
        "hidden_value_usd": 413.640009530713,
        "last_update_ts": 1792074272,
        "native_balance": 17.731180337,
        "native_lamports": 17731180337,
        "portfolioPnL": {
          "total_cost_basis_usd": 1232472.6475025748,
          "total_percentage": 2.4811525001180454,
          "total_unrealized_usd": 30579.5259067812
        },
        "sol_price": 103.01249500081116,
        "token_count": 136,
        "total_value": 1263052.173409356,
        "wrapped_sol_balance": 0
      },
      "success": true
    },
    "created": null,
    "followers": null,
    "following": null,
    "overview": {
      "achievementBadgeIds": [
        "views-1m",
        "followers-100k"
      ],
      "address": "f779e161-0f93-49ec-b763-2142854fd005",
      "banned": false,
      "counts": {
        "followers": 138760,
        "following": 7
      },
      "createdCoinsCount": 2,
      "degraded": [],
      "isPumpUser": true,
      "profile": {
        "address": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ",
        "avatar_decoration": null,
        "bio": "Hodler by nature",
        "canonical_evm_wallet": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a",
        "canonical_svm_wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ",
        "followers": 138760,
        "following": 7,
        "group_badges": [
          {
            "group_id": "2200eed3-6b3d-4115-9512-e4b43c839121",
            "profile_image_url": "https://socialimages.pump.fun/profile-images/f779e161-0f93-49ec-b763-2142854fd005/9eb07404-7b3e-4d6a-8788-e05169dd2001",
            "role": "OWNER",
            "username": "SossaDotKek100"
          }
        ],
        "header_image_url": "https://imagedelivery.net/WL1JOIJiM_NAChp6rtB6Cw/6b0fc278-d541-400d-48d8-5d5bd2232300/profiles",
        "is_banned": false,
        "is_pump_user": true,
        "kind": "person",
        "last_username_update_timestamp": 1786803263858,
        "member_count": 0,
        "profile_image": "https://socialimages.pump.fun/profile-images/2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ/1483b61e-df0d-4b93-a3d4-161...",
        "userId": "f779e161-0f93-49ec-b763-2142854fd005",
        "username": "SossaDotKek",
        "x_username": "GeoffO7"
      },
      "verified": false,
      "viewer": {
        "dmEligible": false,
        "follows": false,
        "followsYou": false,
        "isViewer": false,
        "mutuals": {
          "preview": [],
          "totalCount": 0
        }
      }
    },
    "portfolio": {
      "positions": [
        {
          "amountBought": 14413072.671787988,
          "amountBoughtUsd": 356240.85633483774,
          "amountHeld": 19611607.990354,
          "callout": {
            "actingUser": null,
            "actingUserId": null,
            "assetClass": "ASSET_CLASS_TOKEN",
            "calledOutAtMcap": 27728837,
            "calloutId": "c80441e0-f76e-4bc6-8672-8419a9383529",
            "calloutPrice": 0.0287531428558,
            "calloutTimestamp": "2026-08-04T03:30:32.325Z",
            "chain": null,
            "commentCount": 82,
            "hasLiked": null,
            "hasReposted": null,
            "likes": 582,
            "maxMultiplier": 4.541219206305773,
            "maxMultiplierAt": "2026-09-19T20:29:33.664Z",
            "mediaUrl": null,
            "multiple": 2.161393398620777,
            "perp": null,
            "quoteCount": 0,
            "quotedCallout": null,
            "quotedCalloutId": null,
            "replyCount": 206,
            "repostCount": 30,
            "thesis": "I'm back 100x the Cate",
            "updateCount": 124,
            "updates": [
              {
                "content": "Market down, gCate up",
                "createdAt": "2026-10-14T21:06:24.525Z",
                "id": "c77e4dce-9dfb-437b-b111-f4900de7d3df",
                "likeCount": 3,
                "mediaUrl": "https://socialimages.pump.fun/community-media/f779e161-0f93-49ec-b763-2142854fd005/75177424-7c92-4884-8eb9-72baaf1ca015",
                "parentMessageId": null,
                "repostCount": 0,
                "viewCount": 702
              }
            ],
            "viewCount": 570966
          },
          "chainId": 1399811149,
          "coin": {
            "imageUri": "https://imagedelivery.net/WL1JOIJiM_NAChp6rtB6Cw/coin-image/Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump",
            "marketCapUsd": 62146853.15812628,
            "name": "Catecoin",
            "platform": null,
            "program": "pump",
            "protocol": "pump",
            "symbol": "CATE",
            "totalSupply": 1000000000
          },
          "coinMint": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump",
          "costBasisAmount": 19611607.99030797,
          "costBasisUsd": 554335.129946899,
          "dustFloorFiltered": false,
          "hasTransfers": true,
          "hasUntrustedSolBasis": false,
          "hasUntrustedUsdBasis": false,
          "isExited": false,
          "isNative": false,
          "lastSlotIndexId": "00045696349700108900000007",
          "likelyLost": false,
          "pnlPercentage": 119.86694620728022,
          "pnlUsd": 664464.5920215064,
          "potentialSpam": false,
          "realizedPnlUsd": 0,
          "tokenPriceUsd": 0.06214685315812628,
          "updatedAt": "2026-10-14T20:00:33.000Z",
          "userMarkedNonSpam": false,
          "valueUsd": 1218799.7219712662,
          "walletAddress": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ"
        },
        {
          "amountBought": 0,
          "amountBoughtUsd": 0,
          "amountHeld": 225552991.651823,
          "callout": null,
          "chainId": 1399811149,
          "coin": {
            "imageUri": "https://token-media.defined.fi/1399811149_tqhtQ1bzuUzhqFnq9b5TD7ViDRsMxVk81KTATG3YAhk_small_db58f5e75e37.png",
            "marketCapUsd": 120705057.75183977,
            "name": "Doge",
            "platform": null,
            "program": null,
            "protocol": null,
            "symbol": "mɔ",
            "totalSupply": 997746387232.8175
          },
          "coinMint": "tqhtQ1bzuUzhqFnq9b5TD7ViDRsMxVk81KTATG3YAhk",
          "costBasisAmount": 225552991.65182298,
          "costBasisUsd": 0,
          "dustFloorFiltered": false,
          "hasTransfers": true,
          "hasUntrustedSolBasis": false,
          "hasUntrustedUsdBasis": false,
          "isExited": false,
          "isNative": false,
          "lastSlotIndexId": "00044365962906553500000011",
          "likelyLost": false,
          "pnlPercentage": null,
          "pnlUsd": 27286.880946711626,
          "potentialSpam": true,
          "realizedPnlUsd": 0,
          "tokenPriceUsd": 0.000120977694629,
          "updatedAt": "2026-09-02T09:13:28.000Z",
          "userMarkedNonSpam": false,
          "valueUsd": 27286.88094671163,
          "walletAddress": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ"
        }
      ],
      "summary": {
        "hlAccount": "missing",
        "positionCount": 447
      },
      "updatesApplied": true
    },
    "summary": {
      "cache": {
        "filledAtMs": 1792074231341,
        "ttlSeconds": 30
      },
      "computedAt": 1792074231341,
      "equityAtWindowStart": {
        "sol": null,
        "usd": null
      },
      "evmAddress": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a",
      "from": 1791986400,
      "heldOpenValue": {
        "sol": 11882.602236449,
        "usd": 1252310.0277220262
      },
      "maxCapitalDeployed": {
        "sol": 11902.15255185799,
        "usd": 1254944.7296133405
      },
      "missingPriceMints": [
        "49WyS73uVYMTQ9v9FdgWpdwHrTGZt61CZfkSi6qcpump",
        "8WWj3SbYULecv6rvzabGdzpXwb2gy3uWbNGLA7h2ZQWR"
      ],
      "nativeBalanceSol": 17.731180337,
      "percentage": {
        "sol": 1.3334515392645538,
        "usd": -0.49766879999658586
      },
      "pnl": {
        "sol": 158.70943640836575,
        "usd": -6330.006817337095
      },
      "realizedPnl": {
        "sol": -18.288959481357498,
        "usd": -1921.1175478564844
      },
      "solPriceUsd": 103.08617312865788,
      "to": 1792074210,
      "tokenCount": 19,
      "totalBuySpend": {
        "sol": 22.617016497000012,
        "usd": 2954.6473636062137
      },
      "totalValueUsd": 1265601.6106319625,
      "tradePercentage": {
        "sol": 1.3334515392645538,
        "usd": -0.50440522741487
      },
      "unrealizedPnl": {
        "sol": 176.99839588972324,
        "usd": -4408.88926948061
      },
      "wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ"
    },
    "user": {
      "address": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ",
      "avatar_decoration": null,
      "bio": "Hodler by nature",
      "canonical_evm_wallet": "0x452a3eb1ba7ffab825ba4529a8b6a3cf9536cc9a",
      "canonical_svm_wallet": "2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ",
      "followers": 138760,
      "following": 7,
      "group_badges": [
        {
          "group_id": "2200eed3-6b3d-4115-9512-e4b43c839121",
          "profile_image_url": "https://socialimages.pump.fun/profile-images/f779e161-0f93-49ec-b763-2142854fd005/9eb07404-7b3e-4d6a-8788-e05169dd2001",
          "role": "OWNER",
          "username": "SossaDotKek100"
        }
      ],
      "header_image_url": "https://imagedelivery.net/WL1JOIJiM_NAChp6rtB6Cw/6b0fc278-d541-400d-48d8-5d5bd2232300/profiles",
      "is_banned": false,
      "is_pump_user": true,
      "kind": "person",
      "last_active_at": null,
      "last_username_update_timestamp": 1786803263858,
      "member_count": 0,
      "profile_image": "https://socialimages.pump.fun/profile-images/2M2vLX34LXMg24dMEnjWHvRXS1tshpEDRWzmXgV8ENNZ/1483b61e-df0d-4b93-a3d4-161...",
      "userId": "f779e161-0f93-49ec-b763-2142854fd005",
      "username": "SossaDotKek",
      "x_username": "GeoffO7"
    }
  },
  "meta": {
    "ageMs": 40843,
    "observedAt": 1792074232523,
    "parts": {
      "balanceSummary": {
        "observedAt": 1792074272271,
        "source": "fresh"
      },
      "portfolio": {
        "observedAt": 1792074272271,
        "source": "fresh"
      },
      "portfolioSummary": {
        "observedAt": 1792074233005,
        "source": "cache"
…

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.001.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i 'https://pump.x4o2.com/v1/user/:user?include=portfolio%2Csummary&maxAge=5&period=1d&stale=0'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - 'https://pump.x4o2.com/v1/user/:user?include=portfolio%2Csummary&maxAge=5&period=1d&stale=0' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.001 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.001" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.001 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fpump.x4o2.com%2Fv1%2Fuser%2F%3Auser
const res = await pay("https://pump.x4o2.com/v1/user/:user?include=portfolio%2Csummary&maxAge=5&period=1d&stale=0");
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.001 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.001"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.get("https://pump.x4o2.com/v1/user/:user?include=portfolio%2Csummary&maxAge=5&period=1d&stale=0")
    print(res.status_code, res.text)

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
4 h agoPassed402423 ms$0.001
8 h agoPassed402537 ms$0.001
13 h agoPassed402421 ms$0.001
18 h agoPassed402515 ms$0.001
22 h agoPassed402365 ms$0.001
Show 2 older checks
27 h agoPassed402546 ms$0.001
31 h agoPassed402633 ms$0.001