Token
by fomo.x4o2.com in Onchain & crypto
Current FOMO market panel for one token (price, market cap, 24h volume, liquidity, holder count), its trading statistics (buy/sell counts and volumes over 5m and 24h, unique buyers/sellers, top-10 holder share) and FOMO's safety warnings. Use for a quick quantitative read on a Solana or Base token.
https://fomo.x4o2.com/v1/token/:chain/:address- Price
- $0.001
- per call in USDC
- Uptime
- 100%
- last 30 days
- Response time
- 449 ms
- 541 ms slowest 5%
- Last check
- Passed
- 3 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to call it
GET https://fomo.x4o2.com/v1/token/:chain/:address
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://fomo.x4o2.com/v1/token/:chain/:address?maxAge=5&stale=0Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
maxAge | string | No | Serve a cached copy up to this many seconds old; 0 forces the freshest allowed |
stale | string | No | 1 returns any cached copy immediately and refreshes in the background |
Example response
The provider's example. We can't check it without paying.
Example response, 155 lines
{
"data": {
"market": {
"basePair": {
"address": "So11111111111111111111111111111111111111112",
"logo": "https://metadata.mobula.io/assets/logos/solana_solana_So11111111111111111111111111111111111111112.webp",
"symbol": "SOL"
},
"buyCount1": null,
"buyCount12": null,
"buyCount24": null,
"buyCount4": null,
"change1": "-0.011060791441624645",
"change12": "-0.06045670263182625",
"change24": "-0.10497589657172489",
"change4": "-0.013502958846225054",
"change5m": "0.0028684025554119776",
"createdAt": 1785083564,
"exchanges": [
{
"name": "PumpSwap"
}
],
"holders": 141279,
"isHiddenFromDiscovery": false,
"liquidity": "1469326.7610704848",
"marketCap": "55941312.2596957",
"pair": {
"protocol": "PumpAmm"
},
"priceUSD": "0.05802145477279522",
"sellCount1": null,
"sellCount12": null,
"sellCount24": null,
"sellCount4": null,
"token": {
"address": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump",
"createdAt": 1785083564,
"decimals": 6,
"freezable": null,
"i18n": null,
"info": {
"address": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump",
"circulatingSupply": "964148735.64882",
"cmcId": null,
"description": null,
"id": "Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump:1399811149",
"imageBannerUrl": null,
"imageLargeUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp",
"imageSmallUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp",
"imageThumbUrl": "https://metadata.mobula.io/assets/logos/solana_solana_Ai66LHZG9MCzg1WKdawwqduVAXpNDUuV8M3uyq5ppump.webp",
"name": "Cate",
"networkId": 1399811149,
"symbol": "CATE",
"totalSupply": "964148735.64882"
},
"isScam": null,
"launchpad": {
"graduationPercent": 100,
"launchpadIconUrl": "https://crypto-exchange-logos-production.s3.us-west-2.amazonaws.com/6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.webp",
"launchpadName": "Pump.fun",
"migrated": true
},
"mintable": null,
"name": "Cate",
"networkId": 1399811149,
"socialLinks": {
"discord": null,
"others": {
"dexscreenerMetadataFields": [
"logo",
"dexscreenerHeader"
]
},
"telegram": "https://t.me/catecoin_telegram",
"twitter": "https://x.com/i/communities/2004330768022004131",
"website": "https://cate.meme/"
},
"symbol": "CATE"
},
"top10HoldersPercent": null,
"txnCount1": 596,
"txnCount12": 9244,
"txnCount24": 28362,
"txnCount4": 2132,
"uniqueBuys1": null,
"uniqueBuys12": null,
"uniqueBuys24": null,
"uniqueBuys4": null,
"uniqueSells1": null,
"uniqueSells12": null,
"uniqueSells24": null,
"uniqueSells4": null,
"volume1": "40617.479186542114",
"volume12": "766949.3845114824",
"volume24": "2477269.5831413968",
"volume4": "200978.7984210127",
"volume5m": "10932.619521454537"
},
"statistics": {
"buyCount1": 183,
"buyCount24": 5506,
"buyCount4": 423,
"buyCount5m": 38,
"buyVolume1": "9701",
"buyVolume24": "892382",
"buyVolume4": "72208",
"buyVolume5m": "1889",
"holders": 140358,
"isLowFees": false,
"sellCount1": 67,
"sellCount24": 4637,
"sellCount4": 337,
"sellCount5m": 8,
"sellVolume1": "22888",
"sellVolume24": "905928",
"sellVolume4": "83804",
"sellVolume5m": "6925",
"top10HoldersPercent": 13.319739578244832,
"uniqueBuys1": 60,
"uniqueBuys24": 1812,
"uniqueBuys4": 155,
"uniqueBuys5m": 20,
"uniqueSells1": 53,
"uniqueSells24": 1885,
"uniqueSells4": 164,
"uniqueSells5m": 5
},
"warnings": {
"disableBuying": false,
"disableSelling": false,
"warnings": []
}
},
"meta": {
"ageMs": 3162773,
"fomoCalls": 2,
"observedAt": 1792064874995,
"parts": {
"market": {
"observedAt": 1792068037125,
"source": "fresh"
},
"statistics": {
"observedAt": 1792068037125,
"source": "fresh"
},
"warnings": {
"observedAt": 1792064874995,
"source": "cache"
}
},
"source": "fresh"
}
}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://fomo.x4o2.com/v1/token/:chain/:address?maxAge=5&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://fomo.x4o2.com/v1/token/:chain/:address?maxAge=5&stale=0' \
| grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decodeJavaScript: 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%2Ffomo.x4o2.com%2Fv1%2Ftoken%2F%3Achain%2F%3Aaddress
const res = await pay("https://fomo.x4o2.com/v1/token/:chain/:address?maxAge=5&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://fomo.x4o2.com/v1/token/:chain/:address?maxAge=5&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
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 3 h ago | Passed | 402 | 449 ms | $0.001 |
| 8 h ago | Passed | 402 | 432 ms | $0.001 |
| 14 h ago | Passed | 402 | 438 ms | $0.001 |
| 19 h ago | Passed | 402 | 459 ms | $0.001 |
| 24 h ago | Passed | 402 | 430 ms | $0.001 |
Show 8 older checks
| 29 h ago | Passed | 402 | 443 ms | $0.001 |
| 33 h ago | Passed | 402 | 541 ms | $0.001 |
| 38 h ago | Passed | 402 | 521 ms | $0.001 |
| 43 h ago | Passed | 402 | 457 ms | $0.001 |
| 47 h ago | Passed | 402 | 451 ms | $0.001 |
| 2 days ago | Passed | 402 | 408 ms | $0.001 |
| 2 days ago | Passed | 402 | 422 ms | $0.001 |
| 3 days ago | Passed | 402 | 540 ms | $0.001 |