Search XRPL.to's universe of fungible tokens, NFT collections, individual NFTs, and accounts in one call, and pull live market metrics, OHLC chart data, news with AI sentiment, and platform-wide stats — all via the official public REST + WebSocket API.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionsearch-metrics-tokens-nftsExecute the skills CLI command in your project's root directory to begin installation:
Fetches search-metrics-tokens-nfts from xrpl.to/search-metrics-tokens-nfts-270kqa and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate search-metrics-tokens-nfts. Access via /search-metrics-tokens-nfts in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
0
upvotes
Run in your terminal
0
installs
0
this week
—
stars
| name | search-metrics-tokens-nfts |
| title | 'Search XRP Ledger Tokens, NFTs, News, Charts & Metrics' |
| description | >- Search XRPL.to's universe of fungible tokens, NFT collections, individual NFTs, and accounts in one call, and pull live market metrics, OHLC chart data, news with AI sentiment, and platform-wide stats — all via the official public REST + WebSocket API. |
| website | xrpl.to |
| category | crypto |
| tags | - xrpl - xrp - crypto - defi - nft - market-data - tokens |
| source | 'browserbase: agent-runtime 2026-05-19' |
| updated | '2026-05-19' |
| recommended_method | api |
| alternative_methods | - method: mcp rationale: >- XRPL.to publishes a machine-readable agent-skills index at https://xrpl.to/.well-known/agent-skills/index.json (RFC 9727 + agentskills.io) — an MCP/agent runtime that auto-discovers SKILL.md from .well-known can wire the same API up declaratively. - method: browser rationale: >- Only as fallback if api.xrpl.to is down. The xrpl.to SPA is a thin React/Next.js client that calls the same /search and /tokens endpoints under the hood — scraping the rendered table is ~50× more expensive per query because the rows are hydrated client-side after the initial paint. |
| verified | false |
| proxies | false |
Search XRPL.to's universe of on-ledger assets — fungible tokens, NFT collections + individual NFTs, accounts — and pull live market metrics, OHLC chart data, news with AI sentiment, and platform-wide stats. Returns structured JSON suitable for monitoring dashboards, screeners, alerts, and downstream analytics. Read-only; never submits transactions.
md5/slug/issuer_currency./stats.XRPL.to publishes a complete public REST + WebSocket API at https://api.xrpl.to/v1 and even self-advertises it as an agent skill via https://xrpl.to/.well-known/agent-skills/index.json (RFC 9727 Link: rel="api-catalog" + agentskills.io/rel/index). Always use the API directly — never scrape the SPA. The website is a thin React/Next.js client over this API; browse snapshot on the SPA returns a generic table shell that does not contain the actual data rows (they are hydrated client-side), so browser scraping costs 50–100× more for a strictly worse result.
No auth is required for the read endpoints listed below — anonymous tier is 30 req/min, 333 req/day, 10K req/month. For higher tiers add X-Api-Key: <key> (obtain at https://xrpl.to/api). No proxies, stealth, captcha, or cookies are required from any IP.
Unified search — POST https://api.xrpl.to/v1/search (the same call the global search box on every page makes):
curl -s -X POST https://api.xrpl.to/v1/search \
-H 'Content-Type: application/json' \
-d '{"search":"sologenic","limit":20,"offset":0}'
Body: {"search": "<query>", "limit": <int, default 20>, "offset": <int, default 0>}. The query string matches token name/symbol/issuer/slug, NFT collection name/slug, NFT NFTokenID, and XRPL r-addresses simultaneously. Response shape:
{
"success": true, "took": "104ms",
"tokens": [ /* matching fungible tokens — see token shape below */ ],
"collections": [ /* matching NFT collections — see collection shape below */ ],
"nfts": [ /* matching individual NFTs */ ],
"account": { /* present iff the query is a valid r-address */ },
"pagination": { "offset": 0, "limit": 20, "total": 4, "hasMore": false }
}
Token list with metrics — GET /tokens for screeners and ranked lists:
GET https://api.xrpl.to/v1/tokens?limit=100&sort=volume&order=desc
Params: limit (max 100), offset, sort (volume|marketcap|change24h|change5m|trending|assessment), order (asc|desc), tag, filter (text), token_type (trustline|lp|mpt), show_new, show_slug, show_date, tags=yes, skip_metrics, lightweight (~60 % smaller payload, drops descriptive fields), filterNe (negative text filter), watchlist (csv of token ids). Returns { tokens[], total, exch, H24, global, tokenCreation } — the exch block gives XRP→USD/EUR/JPY/CNY for converting prices, H24 carries DEX-wide 24h aggregates, global carries lifetime aggregates.
Single token detail — GET /token/{id} where {id} accepts five formats:
0413ca7cfc258dfaf698c02fe304e607issuer-currency: rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz-534F4C4F00000000000000000000000000000000issuer_currencyHex (underscore separator): same components separated by _SOLO?desc=yes to include the long description.Charts — OHLC + sparklines + holder graphs:
GET /ohlc/{id}?range=1D&interval=1h&vs_currency=XRP — candles. range ∈ 1D|5D|7D|1M|3M|1Y|5Y|ALL; interval ∈ 1m|5m|15m|30m|1h|2h|4h|1d|1w; vs_currency ∈ XRP|USD|EUR|JPY|CNH. Response ohlc[] is [time_ms, open, high, low, close, volume] arrays.GET /sparkline/{id}?period=7d&vs_currency=XRP&lightweight=true&max_points=20 — tiny series for inline charts.GET /holders/info/{id}, GET /holders/graph/{id}?range=7D, GET /holders/list/{id}?limit=20 — concentration percentiles, holder-count history, and paginated richlist with acquisition tracking.GET /rsi?timeframe=24h&sort=rsi24h&limit=50 — multi-timeframe RSI screener.NFTs:
GET /nft/collections?sort=vol24h&order=desc&limit=50 — ranked collection list (sort ∈ vol24h|totalVol24h|volume|new|created|latest).GET /nft/collections/{slug} with ?includeNFTs=true&nftLimit=20 — collection detail.GET /nft/collections/{slug}/nfts?sort=price-low&listed=true — items in collection (sort ∈ activity|price-low|price-high|offer-low|offer-high|minted-latest|rarity-rare|volume-high|recent-sale|recent-listed; listed ∈ true|false|xrp|non-xrp; traits=type:value csv for trait filtering).GET /nft/{nftId} — single NFT by 64-char hex NFTokenID (returns scam + scamType fields, no separate scam lookup needed).GET /nft/collections/{slug}/ohlc, /floor/history, /sparkline?period=7d, /traders, /orderbook — same chart suite as tokens.News with sentiment — GET /news?limit=20&offset=0&source= returns { data: [{ title, normalizedTitle, summary, sentiment: "Bullish|Bearish|Neutral", sourceName, sourceUrl, pubDate }], sentiment: { 24h, 7d, 30d, all }, sources: [...], pagination }. Use GET /news/search?q=ripple&limit=20 for query-scoped news (same shape, plus a per-query sentiment summary).
Real-time updates — open a WebSocket to wss://api.xrpl.to/ws/sync/ for the global multi-token ticker, or wss://api.xrpl.to/ws/token/{md5}, wss://api.xrpl.to/ws/ohlc/{md5}?interval=1m&vs_currency=XRP, wss://api.xrpl.to/ws/orderbook?base=..."e=..., wss://api.xrpl.to/ws/news, etc. Heartbeat: send {"type":"ping"} → get {"type":"pong","time":...}. All sockets support permessage-deflate.
Discovery — when in doubt, fetch https://api.xrpl.to/api/docs (a single ~46 KB JSON blob enumerating every endpoint, params, response shape, and credit cost) or read the human docs at https://xrpl.to/docs.
If api.xrpl.to is unreachable, the same query string can be passed through the website's global search box:
browse open https://xrpl.to/ --remotebrowse press --remote "/" — focuses the top-bar search input (Ctrl+K also works).browse fill --remote 'role=searchbox' "<query>" — modal renders tokens / NFTs / accounts in three sections.browse get markdown body — the dropdown rows are in the rendered DOM, so this is parseable; the bare table on / is not (it's hydrated by JS after a /tokens API call which you can intercept via browse network).Expect ~3–5 turns per query vs. 1 turn for the API path; the dropdown caps at ~5 results per category whereas the API exposes the full pagination cursor.
POST /search calls in under 2 seconds returned the first 2 with 200s and the next 2 with HTTP 429. There is no Retry-After header — wait ≥ 20 seconds before retrying or add an API key (X-Api-Key). Daily/monthly limits stack on top (333/day, 10K/month anonymous).name lookup works on the API but NOT on the website route. GET https://api.xrpl.to/v1/token/SOLO resolves to the canonical Sologenic record, but https://xrpl.to/token/sologenic returned a 404 page. When constructing user-facing links, always use the issuer-currencyHex slug from token.slug or build it from token.issuer + "-" + token.currency.534F4C4F00000000000000000000000000000000. Convert with Buffer.from(name, "utf8").toString("hex").padEnd(40, "0").toUpperCase(). The 32-char md5 field is the canonical md5(issuer + "_" + currency) and is the preferred id for caching.browse snapshot of https://xrpl.to/ returns the table headers (#, NAME, PRICE, 5M, 1H, 24H, ...) but the row contents are hydrated via the same /tokens API after the initial paint — there's no SSR data island. Hit the API directly.POST /search query is matched against token name, currency (decoded), user (issuer name), issuer r-address, slug, and tags. For NFTs it also matches NFTokenID exact-hex. For accounts it requires a syntactically valid r-address (the regex ^r[1-9A-HJ-NP-Za-km-z]{24,34}$). A non-address string never returns an account field even if a user wallet happens to have that label.pagination.total can be very large — /news returned total: 29152, totalPages: 14576 for limit=2. Always paginate, never assume a single response is exhaustive.tvl, AMM, creator, and social.* on token records may be null for low-volume IOUs that haven't been touched by the indexer recently. Always null-check before chaining.vol24hxrp is in XRP, not drops. REST responses convert XRP amounts to floating-point XRP values (not the on-chain drops strings). Multiply by 1e6 if you need drops. WebSocket frames follow the same convention.POST /search's limit default is small (~20). Set explicitly for paginated discovery; bumping past 100 is silently capped at 100.https://xrpl.to/.well-known/agent-skills/index.json points to https://xrpl.to/.well-known/agent-skills/xrpl-to-api/SKILL.md — read that as the upstream source of truth and check its sha256 in the index to detect updates.Cf-Cache-Status: DYNAMIC for the API and aggressive Cache-Control: public, max-age=86400 for static assets. No anti-bot challenges observed — direct fetch() from any IP returns 200 without JS, cookies, or TLS fingerprinting hurdles./account/... endpoints accept raw r-addresses; the unified POST /search only surfaces account for valid r-addresses but does not return the trustlines or tx history — for those, follow up with GET /account/balance/{r}, /account/trustlines/{r}, /account/nfts/{r}, /account/tx/{r}.{
"success": true,
"took": "104ms",
"tokens": [
{
"md5": "0413ca7cfc258dfaf698c02fe304e607",
"name": "SOLO",
"user": "Sologenic",
"issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz",
"currency": "534F4C4F00000000000000000000000000000000",
"slug": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz-534F4C4F00000000000000000000000000000000",
"exch": 0.01527649,
"usd": 0.0213,
"vol24hxrp": 3339.92,
"marketcap": 2368688.65,
"pro24h": 0.807,
"p24h": 0.81,
"holders": 216460,
"trustlines": 226000,
"verified": 1,
"tags": ["DeFi", "Tokenized Stocks"],
"domain": "sologenic.com",
"AMM": { "account": "rL...", "tradingFee": 500 },
"tvl": 87420.0
}
],
"collections": [
{
"_id": "...",
"slug": "xpunks",
"name": "xPunks",
"issuer": "rfUkZ3BVmgx5aD3Zo5bZk68hrUrhNth8y3",
"items": 5000,
"owners": 2156,
"floor": 7,
"floor24hAgo": 7,
"floor7dPercent": 0,
"marketcap": { "amount": 34937, "currency": "XRP", "issuer": "XRPL" },
"listedCount": 380,
"sales24h": 0,
"totalSales": 1212,
"origin": "xrpnft.com",
"logoImage": "b4a2397a54cacd031179c118d8af4789",
"tags": ["Memes", "FirstLedger"]
}
],
"nfts": [
{
"NFTokenID": "000817024409AFED2C9EC5604D4095464C0F0DC015198D2F75D87A79000003DD",
"name": "xPunk #989",
"owner": "rKvzFmPbtaxekUQBJjAa6VUzLSe13inAE1",
"collection": "xpunks",
"scam": false
}
],
"account": null,
"pagination": { "offset": 0, "limit": 20, "total": 4, "hasMore": false }
}
account block{
"success": true,
"tokens": [],
"collections": [],
"nfts": [],
"account": {
"account": "rDsbeomae4FXwgQTJp9Rs64Qg9vDiTCdBv",
"balance": 28742536.35,
"name": "Bitstamp Hot Wallet",
"verified": true
},
"pagination": { "offset": 0, "limit": 20, "total": 1, "hasMore": false }
}
GET /ohlc/{id}?range=1D&interval=1h){
"res": "ok",
"took": "47ms",
"length": 25,
"format": "[time_ms, open, high, low, close, volume]",
"resolution": 60,
"interval": "1h",
"interval_seconds": 3600,
"vs_currency": "XRP",
"inverted": false,
"ohlc": [
[1779062400000, 0.015232, 0.015232, 0.015154, 0.015154, 222.91],
[1779066000000, 0.015155, 0.015288, 0.015101, 0.015281, 1411.4 ],
[1779148800000, 0.015277, 0.015277, 0.015276, 0.015276, 0.38 ]
]
}
GET /news?limit=2){
"sentiment": {
"24h": { "Bullish": "67.9", "Bearish": "28.3", "Neutral": "3.8" },
"7d": { "Bullish": "77.4", "Bearish": "13.5", "Neutral": "9.1" },
"30d": { "Bullish": "79.5", "Bearish": "9.7", "Neutral": "10.7" },
"all": { "Bullish": "70.4", "Bearish": "19.1", "Neutral": "10.6" }
},
"sources": [
{ "name": "TradingView", "count": 3964, "sentiment": { "Bullish": "78.0", "Bearish": "12.0", "Neutral": "10.0" } }
],
"data": [
{
"_id": "6a0ba7c57690aa46eab46923",
"title": "XRP Price Faces Key Test as ETF Inflows Hit 2026 High",
"normalizedTitle": "XRP Price Faces Key Test as ETF Inflows Hit 2026 High",
"sentiment": "Bullish",
"sourceName": "The Coin Republic",
"sourceUrl": "https://www.thecoinrepublic.com/2026/05/18/xrp-price-faces-key-test-as-etf-inflows-hit-2026-high/",
"summary": "XRP Price Faces Key Test as ETF Inflows Hit 2026 High. The recent surge in XRP price...",
"pubDate": "2026-05-18T23:30:00.000Z"
}
],
"pagination": { "offset": 0, "limit": 2, "total": 29152, "totalPages": 14576 },
"responseTime": "1119ms"
}
HTTP 429){
"success": false,
"error": "Too Many Requests"
}
Returned without Retry-After; back off ≥ 20 seconds or attach X-Api-Key.
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
your-github-username/design-md
sickn33/antigravity-awesome-skills
dkyazzentwatwa/chatgpt-skills
wshobson/agents
wshobson/agents
aahl/skills
search-metrics-tokens-nfts reduced setup friction for our internal harness; good balance of opinion and flexibility.
search-metrics-tokens-nfts fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
search-metrics-tokens-nfts is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Registry listing for search-metrics-tokens-nfts matched our evaluation — installs cleanly and behaves as described in the markdown.
Useful defaults in search-metrics-tokens-nfts — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
We added search-metrics-tokens-nfts from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
search-metrics-tokens-nfts reduced setup friction for our internal harness; good balance of opinion and flexibility.
I recommend search-metrics-tokens-nfts for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
search-metrics-tokens-nfts fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
search-metrics-tokens-nfts fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 45