All Endpoints
All 332 endpoints, in the order of the sidebar. Open one for its request, a live response and what it does.
API Keys (8)
- POST
/v1/keysCreate new API key (1 active key on free tier, 5 on paid tiers) - GET
/v1/keys/{wallet}wallet signatureList API keys for wallet - DELETE
/v1/keys/{wallet}/{id}wallet signatureRevoke API key (first call revokes; calling again on a revoked key permanently deletes it) - PUT
/v1/keys/{wallet}/{id}wallet signatureRename an active API key (metadata only) - GET
/v1/keys/{wallet}/creditswallet signatureRemaining credits and billing info - GET
/v1/keys/{wallet}/usagewallet signatureUsage breakdown by key and endpoint - GET
/v1/keys/costsPer-endpoint credit costs - GET
/v1/keys/{wallet}/logswallet signatureRecent API request logs for a wallet
Subscriptions (12)
- GET
/v1/keys/{wallet}/subscriptionwallet signatureSubscription details, available upgrades and partnerRequest { status: pending|approved|declined, creditUrl, requestedAt, decidedAt, reason } (null when never requested). billingCycle.end is the paid term end: 30 days for a monthly purchase, 365 for yearly. Buying the same tier again before it ends extends the term; an ended term downgrades the wallet and its keys to Free. - POST
/v1/keys/{wallet}/partner-requestwallet signatureApply for the free Partner tier (see usagePolicy.partner) - GET
/v1/keys/tiersAvailable API tiers with live XRP pricing. Developer, Business and Professional are bought for a term (30 days monthly, 365 yearly) and renew by buying the same tier again; Partner is by application. - GET
/v1/keys/packagesCredit top-up packages with pricing - POST
/v1/keys/purchaseCreate XRP payment request - POST
/v1/keys/verify-paymentVerify XRP payment and apply credits/tier - GET
/v1/keys/xrp/status/{txHash}Check XRP payment status - POST
/v1/keys/stripe/checkoutCreate Stripe checkout session - GET
/v1/keys/stripe/status/{sessionId}Check Stripe payment status - GET
/v1/keys/payment/{txHash}wallet signatureLook up processed payment by tx hash - GET
/v1/keys/payments/{wallet}wallet signaturePayment history for wallet - GET
/v1/keys/invoices/{paymentId}wallet signatureInvoice detail for a payment (sequential INV-YYYY-NNNNN number assigned on first fetch)
Token List (30)
- GET
/v1/tokensList all tokens with metrics - GET
/v1/rsiRSI indicator data - GET
/v1/tagsList all token tags - GET
/v1/sparkline/batchBatch sparklines for multiple tokens (cached 30s) - GET
/v1/tokens/slugsAll token slugs - POST
/v1/searchSearch tokens, NFTs, collections, and accounts. limit max 100; offset clamped so offset+limit <= 100 - GET
/v1/statsPlatform metrics - GET
/v1/stats/marketcap-historyDaily OMCF-filtered marketcap (same as homepage gMarketcap) back to 2021-09-26 - GET
/v1/token/analytics/marketDaily market metrics - POST
/v1/stats/metricsHistorical exchange rates by timestamps (XRP base) - GET
/v1/platform-statsAggregated trading stats grouped by platform key (numeric SourceTag, or canonical name for memo-identified platforms like SPYDEX) - GET
/v1/platform-stats/detail/{sourceTag}Top tokens traded via a single platform; summary covers ALL tokens for the platform/period, not just returned rows - GET
/v1/platform-stats/hourly/{sourceTag}Hourly breakdown for a single platform - GET
/v1/token/analytics/sourcesDistinct trade sourceTags with trader counts and volume totals - GET
/v1/token/analytics/tradersAll traders with cumulative stats - GET
/v1/token/analytics/traders/summaryTrader balance snapshots summary - GET
/v1/traders/rotationsCross-token trader rotation analytics - GET
/v1/whale-activity/feedGlobal whale tape — the newest notable trades across ALL tokens. `tokens` maps each event md5 to its display identity (name, user, slug, verified) - GET
/v1/newsDeveloper tier+ API keyLatest XRP news with sentiment - GET
/v1/news/searchDeveloper tier+ API keySearch news articles - GET
/v1/news/unapproved-sourcesDeveloper tier+ API keyNews sources pending approval - GET
/v1/news/sentiment-chartDeveloper tier+ API keyHistorical sentiment analysis chart - GET
/v1/mentions/searchDeveloper tier+ API keyAgent-friendly search across X/Twitter mentions with full-text + filters. Returns enriched tweets with token name, spam/impostor flags. - GET
/v1/mentions/feedDeveloper tier+ API keyGlobal social feed with trending tokens, top authors, activity chart, and impostor list - GET
/v1/mentions/spacesDeveloper tier+ API keyX Space hosts with full history and inferred schedule (days/hour UTC). Returns all known space hosts sorted by most recent activity. - GET
/v1/mentions/openapi.jsonDeveloper tier+ API keyOpenAPI 3.0 spec for the mentions endpoints (agent/MCP discoverable) - GET
/v1/mentions/timelineFull timeline of tracked influencer tweets (not just token matches) - GET
/v1/mentions/x-searchLive X/Twitter search via scraper (503 if scraper unavailable) - GET
/v1/mentions/grok-pulseGrok-generated XRPL insight topics with sentiment - GET
/v1/mentions/profile/{username}Latest X profile snapshot + change history for a handle
Token (33)
- GET
/v1/token/{id}Single token by id (see tokenFields for the token object dictionary) - GET
/v1/token/{md5}/relatedRelated projects: other tokens and NFT collections that share the audience of this token. An edge means wallets hold both and accounts post about both — it is NOT a wallet link and does not assert a shared operator (see /token/review for that). - GET
/v1/thumb/{md5}Token thumbnail (WebP) - GET
/v1/ohlc/{id}OHLC candlestick data - GET
/v1/sparkline/{id}Price sparkline - GET
/v1/stats/ratesExchange rates between tokens - GET
/v1/historyTrade history by token, account, or both - GET
/v1/whale-activity/{id}Whale social-proof trade events — top holders of major tokens, smart money, named accounts, whale-sized and fresh-wallet trades on this token - GET
/v1/creator-activity/{id}Token creator trading activity - GET
/v1/creator-activity/{id}/receiver/{address}Creator activity filtered by recipient address - GET
/v1/holders/info/{id}Holder concentration (top10/20/50/100 %) - GET
/v1/holders/graph/{id}Holder count history - GET
/v1/holders/list/{id}Paginated holder richlist with acquisition tracking - GET
/v1/holders/movers/{id}Top 24h buyers and sellers by holder balance delta - GET
/v1/holders/ranks/{id}Bulk account-to-rank lookup within the holder richlist - GET
/v1/holders/position/{id}/{address}One account's stake in a token — balance, share of supply and rank, without building the holder list - GET
/v1/holders/empty/{id}Zero-balance trustlines (dust/airdrop accounts; precomputed bot accounts excluded) - GET
/v1/traders/token-traders/{id}Top traders for a token - GET
/v1/token/analytics/token/{id}Token analytics - GET
/v1/token/analytics/token/{id}/tradersTop traders for token - GET
/v1/traders/rotations/{tokenId}Trader rotations for a specific token - POST
/v1/dex/quoteGet swap quote with routing / path finding (successor to POST /account/path-find). Exact-output via destination_value, or exact-input via source_value - GET
/v1/orderbookLive DEX orderbook - GET
/v1/pairsTrading pairs for a token - GET
/v1/pairs/{id}Trading pairs for a specific token - GET
/v1/ammList AMM pools - GET
/v1/amm/infoLive AMM pool info - GET
/v1/amm/liquidity-chartHistorical TVL chart data - GET
/v1/token/review/{id}Token risk assessment (score 1-10, lower = safer) - GET
/v1/token/flow/{id}Creator allocation and distribution analysis (precomputed) - GET
/v1/mentions/{md5}Developer tier+ API keyPer-token mention feed with stats, top mentioners, and activity chart - POST
/v1/token/{md5}/metadatawallet signature (token creator/issuer or admin)Update token metadata. 3s per-token write cooldown. - POST
/v1/token/{md5}/imagewallet signature (token creator/issuer or admin)Upload token logo image. 3s per-token write cooldown.
Collection List (11)
- GET
/v1/nft/collectionsList NFT collections - GET
/v1/nft/collections/sparkline/batchBatch floor sparklines for multiple collections - GET
/v1/nft/stats/globalGlobal NFT market stats (same source as /nft/global-metrics) - GET
/v1/nft/global-metricsGlobal NFT metrics - GET
/v1/nft/analytics/marketNFT market analytics - GET
/v1/nft/analytics/marketplacesDistinct NFT marketplaces with trader counts - GET
/v1/nft/brokers/statsBroker fee statistics - GET
/v1/nft/scamNFT-scam insights snapshot — totals (XRP/token drained, NFTs flagged, scam wallets), monthly timeline, top scammers/victims, tokens drained with XRP values, recent drain feed, and scamIssuersList (flat array of every flagged-issuer address for client-side filtering). For per-NFT checks, use GET /nft/:nftId — it already returns scam + scamType. - GET
/v1/nft/analytics/tradersNFT trader leaderboard - GET
/v1/nft/analytics/rotationsNFT collection rotation analytics - GET
/v1/nft/activityRecent NFT activity feed
Collection (26)
- GET
/v1/nft/collections/{slug}Collection details - GET
/v1/nft/collections/resolveResolve a collection from its XLS-20 on-chain identity (issuer account + taxon) to the full collection object incl. slug/cid. Every {slug} param on /nft/* endpoints ALSO accepts this identity directly as "<issuer>:<taxon>" (e.g. /nft/collections/rLyr...:1234/history) - GET
/v1/nft/collections/{slug}/metricsCollection metrics snapshot (floor + deltas, volumes, sales, owners, listings) - GET
/v1/nft/collections/{slug}/relatedRelated projects: other tokens and NFT collections that share the audience of this collection. An edge means wallets hold both and accounts post about both — it is NOT a wallet link and does not assert a shared operator (see /token/review for that). - GET
/v1/nft-collection-thumb/{hash}NFT collection cover image - GET
/v1/nft/collections/{slug}/nftsNFTs in collection - GET
/v1/nft/collections/{slug}/traitsCollection trait breakdown - GET
/v1/nftList NFTs - GET
/v1/nft/collections/{slug}/ohlcCollection OHLC chart data - GET
/v1/nft/collections/{slug}/ohlc/{date}/salesNFTs sold on specific date - GET
/v1/nft/collections/{slug}/floor/historyFloor price history - GET
/v1/nft/collections/{slug}/sparklineCollection floor price sparkline - GET
/v1/nft/floor/history/{cid}Floor history by collection ID - GET
/v1/nft/collections/{slug}/listings/historyDaily listed-count history merged with floor/volume/sales - GET
/v1/nft/collections/{slug}/holders/historyDaily holder-count history - GET
/v1/nft/collections/{slug}/mintsMint counts over time with cumulative total - GET
/v1/nft/collections/{slug}/historyCollection activity history - GET
/v1/nft/holders/{slug}Collection holder list - GET
/v1/nft/holders/{slug}/distributionHolder distribution by tier (whales/orcas/dolphins/fish/shrimp) - GET
/v1/nft/collections/{slug}/ownershipOwnership distribution - GET
/v1/nft/collections/{slug}/tradersTop traders - GET
/v1/nft/analytics/collection/{slug}/tradersTop traders for collection - GET
/v1/nft/analytics/rotations/{cid}NFT collection rotations by collection id - GET
/v1/nft/collections/{slug}/orderbookCollection orderbook - GET
/v1/nft/collections/{slug}/listings/distributionListed-price distribution vs floor (buckets at 1x/1.25x/1.5x/2x/3x/5x/10x floor), floor/median/avg/max - POST
/v1/nft/collections/{slug}/metadatawallet signature (collection account/issuer or admin)Edit collection metadata
NFT (10)
- GET
/v1/nft/{nftId}NFT by NFTokenID (64-char hex) - GET
/v1/nft-thumb/{hash}NFT image/thumbnail (original format, CSP-sandboxed for SVG) - GET
/v1/nft/{nftId}/offersBuy/sell offers for NFT - GET
/v1/nft/offers/buy/{nftId}Live buy offers - GET
/v1/nft/offers/sell/{nftId}Live sell offers - GET
/v1/nft/historyNFT transaction history - GET
/v1/nft/history/{nftId}Live NFT history - GET
/v1/nft/transactions/{hash}NFT transaction by hash - GET
/v1/nft/pin/status/{hash}IPFS pin status by hash - POST
/v1/nft/pinPin NFT media to platform IPFS node (resolves hash from NFT URI if only NFTokenID given)
Account (69)
- GET
/v1/account/info/{account}Account info with DB enrichment - GET
/v1/account/ancestry/{account}Account ancestry tree - POST
/v1/account/namesResolve account display names + verification status in bulk (max 50) - GET
/v1/account/search-by-nameSearch accounts by display name / X profile - GET
/v1/account/balance/{account}XRP balance with reserves - POST
/v1/account/balanceBatch balance lookup (max 100) - GET
/v1/account/balance/pair/{account}Token pair balances - GET
/v1/account/trustlines/{account}Account trustlines - GET
/v1/trustlines/{account}Trustlines with token values - GET
/v1/account/trustline/{account}/{issuer}/{currency}Single trustline lookup - GET
/v1/account/currencies/{account}Sendable/receivable currencies - GET
/v1/account/gateway/{account}Gateway balances (issuer totals) - GET
/v1/account/snapshot/{account}Point-in-time XRP + token holdings valued in XRP at a historical ledger (resolve time to ledger via /ledger/at first) - GET
/v1/account/offers/{account}Open DEX offers - GET
/v1/nft/account/{account}/offersNFT offers owned + incoming buy/sell offers (top 500 newest owned NFTs scanned; incomingOffersTruncated flag; fraud/fraudType detection) - GET
/v1/account/tx/{account}Full transaction history - GET
/v1/account-tx-explain/{account}Wallet activity analysis and profiling (20 credits) - GET
/v1/account/nfts/{account}NFTs owned by account - GET
/v1/nft/account/{account}/nftsNFTs/collections owned with portfolio value - GET
/v1/nft/holders/address/{account}Collections/NFTs held by wallet - GET
/v1/user/{account}/nftsNFTs owned (with thumbnails) - GET
/v1/traders/{account}Full trader profile - GET
/v1/traders/{account}/rotationsPer-account token rotation flow (XRP bought/sold per token in window) - GET
/v1/token/analytics/trader/{address}Trader cumulative stats - GET
/v1/token/analytics/trader/{address}/tokensTrader token-specific metrics - GET
/v1/token/analytics/trader/{address}/historyTrader volume history - GET
/v1/token/analytics/trader/{address}/tradesTrader trade history - GET
/v1/account/token-stats/{account}/{md5}Per-token trading stats for account - GET
/v1/account/recent-trades/{account}Recent trades for an account - GET
/v1/lp-positions/{account}AMM LP positions with impermanent loss analysis - GET
/v1/nft/analytics/trader/{account}Single NFT trader profile - GET
/v1/nft/analytics/trader/{account}/historyTrader daily history - GET
/v1/nft/analytics/trader/{account}/collectionsTrader per-collection breakdown - GET
/v1/nft/analytics/trader/{account}/tradesTrader trade history - GET
/v1/nft/analytics/trader/{account}/rotationsNFT trader rotations history - GET
/v1/nft/traders/{account}/volumeTrader volume stats - GET
/v1/account/objects/{account}Account objects - GET
/v1/account/noripple/{account}NoRipple check - GET
/v1/account/channels/{account}Payment channels - GET
/v1/account/checks/{account}Check ledger objects with live funding status for cashable checks - GET
/v1/account/deposit-authorizedCheck deposit authorization - GET
/v1/watchlistwallet signatureGet token watchlist - GET
/v1/watchlist/nftwallet signatureGet NFT watchlist - POST
/v1/watchlistwallet signatureAdd/remove token on watchlist - POST
/v1/watchlist/nftwallet signatureAdd/remove NFT on watchlist - GET
/v1/user/tiersUser tiers with pricing (member, vip, nova, diamond, verified) - GET
/v1/user/{account}Get user profile - POST
/v1/user/{account}wallet signatureCreate user profile - GET
/v1/user/{account}/perksResolved perks (tier + roles merged) - GET
/v1/user/{account}/badgesAll unlocked badges - GET
/v1/user/{account}/labelswallet signature (owner only)Get your own wallet labels — private data, owner-authenticated - GET
/v1/user/badges/metaBadge system metadata - GET
/v1/user/badges/{badge}/holdersUsers holding a specific badge - PUT
/v1/user/{account}wallet signatureUpdate username (VIP+ required to change an existing one; tier field is admin-only) - PUT
/v1/user/{account}/display-badgewallet signatureSet displayed badge (must be unlocked) - GET
/v1/user/{account}/labels/watchedwallet signature (owner only)Only actively-watched wallet labels — private data, owner-authenticated - POST
/v1/user/{account}/labelswallet signatureCreate/update a wallet label (per-tier cap; 402 when limit reached) - PUT
/v1/user/{account}/labels/{wallet}/watchwallet signatureToggle live-watch on a label (per-tier watcher cap) - DELETE
/v1/user/{account}/labels/{wallet}wallet signatureDelete a wallet label - PUT
/v1/user/{account}/avatarwallet signatureSet avatar from an owned NFT - POST
/v1/user/tier/purchaseCreate XRP invoice for user tier (expires 30 min) - GET
/v1/user/tier/verify/{invoiceId}Verify tier XRP payment (scans fee collector; expired invoices honored if exact payment exists) - POST
/v1/user/tier/stripeStripe checkout for user tier - GET
/v1/user/tier/stripe/{sessionId}Check Stripe tier payment status - POST
/v1/user/tier/gift/purchaseGift a tier via XRP invoice - GET
/v1/user/tier/gift/verify/{invoiceId}Verify gift tier payment - POST
/v1/user/tier/gift/stripeGift a tier via Stripe - POST
/v1/account/resolveBatch-resolve admin-verified destination identity (name, logo, tagRequired). Only verified accounts are returned — absence means unknown, which is the safety signal. - GET
/v1/account-thumb/{address}Admin-set account logo image bytes (404 when unset)
XRPL Node (15)
- GET
/v1/ledgerCurrent validated ledger info - GET
/v1/ledger/{index}Ledger by index with transactions - GET
/v1/ledger/entryFetch specific ledger object - GET
/v1/tx/{hash}Transaction by hash (64-char hex) - GET
/v1/ledger/atResolve a datetime to the last ledger closed at or before it (binary search) - POST
/v1/submitSubmit signed transaction - POST
/v1/submit/previewDry-run transaction preview (400 on invalid tx input); sender_after = simulated sender position {balance, reserve, spendable}, null when no sender AccountRoot change - POST
/v1/rpcThe XRP Ledger's own READ commands against MAINNET — the twin of POST /testnet/rpc, so a developer who learned the sandbox changes the prefix and nothing else. Reads only (submitting is POST /submit); the node's in-band error (actNotFound, entryNotFound) rides in result with a 200, as on the node - GET
/v1/submit/typesEvery transaction type POST /submit relays, each with an example: examples[type] = { json (the reference example, unsigned), txid (a real Mainnet transaction of that type, when the reference names one), summary } - GET
/v1/submit/feeCurrent network fees - GET
/v1/submit/account/{address}/sequenceAccount sequence number - GET
/v1/submit/account/{address}/inbound-tagsDestination-tag usage of recent inbound payments (send-screening advisory; tagsExpected = recent deposits overwhelmingly tagged) - GET
/v1/submit/tx/{hash}Lookup a submitted XRPL transaction by hash - GET
/v1/submit/ledger-entry/check/{checkId}Lookup a Check ledger entry by id - GET
/v1/tx-explain/{hash}Human-readable transaction explanation (20 credits)
WebSocket (17)
- WS
wss://api.xrpl.to/ws/sync/Multi-token market sync (handshake first, token data via updates) - WS
wss://api.xrpl.to/ws/token/{md5}Single token real-time updates - WS
wss://api.xrpl.to/ws/ohlc/{md5}OHLC candlestick streaming - WS
wss://api.xrpl.to/ws/history/{md5}Trade history streaming - WS
wss://api.xrpl.to/ws/holders/{id}Token holder richlist streaming (id = token md5) - WS
wss://api.xrpl.to/ws/orderbookDEX orderbook depth streaming - WS
wss://api.xrpl.to/ws/ledgerLedger close stream - WS
wss://api.xrpl.to/ws/trustlines/{account}Account trustlines streaming - WS
wss://api.xrpl.to/ws/newsReal-time news feed - WS
wss://api.xrpl.to/ws/account/balance/{account}Account XRP balance streaming - WS
wss://api.xrpl.to/ws/account/balance/pair/{account}Token pair balance streaming - WS
wss://api.xrpl.to/ws/account/offers/{account}Open DEX offers streaming - WS
wss://api.xrpl.to/ws/amm/infoLive AMM pool info streaming (5s poll) - WS
wss://api.xrpl.to/ws/account/watch/{account}Live account activity feed (parsed tx events) - WS
wss://api.xrpl.to/ws/account/tx/{account}Raw account transaction stream (same shape as GET /account/tx) - WS
wss://api.xrpl.to/ws/creator/{identifier}Creator activity stream (identifier = token md5 or creator address) - WS
wss://api.xrpl.to/ws/socialX/Twitter mentions feed
Scam Blocklist (9)
- GET
/v1/scams/addressesTHE canonical scam blocklist: top-level addresses[] is the deduped union of every blocked account (drainers, dust/token spam, phishing, impersonation, fake airdrops, NFT-scam issuers). Check a Destination/counterparty against it BEFORE a user signs. Real-time, never cached (Cache-Control: no-store) — poll every ~5s. Per-category sections (nftPhishing, paymentDrain) are additive metadata and may overlap; addresses is deduped. - GET
/v1/scamsFull scam report with abuse statistics - GET
/v1/scams/tokensTokens issued by one named issuer. issuer is required — this endpoint lists an issuer's tokens, it does not classify them. For a scam verdict use /scams/addresses or /scams/check/{account}. - GET
/v1/scams/domainsKnown scam domains with registrar info - GET
/v1/scams/nftNFT scam accounts and recent sales - GET
/v1/scams/check/{account}Check if account is a known scam. is_scam is true ONLY for accounts on the verified blocklist or confirmed scam NFT issuers — never inferred from an account's token names or token count. Also returns first_seen/age_seconds/new_account (advisory counterparty freshness, independent of is_scam) - GET
/v1/scams/report-scamList community scam reports - GET
/v1/scams/report/{domain}Confirmations for a reported domain - POST
/v1/scams/reportReport a scam domain
Token Launch (19)
- POST
/v1/launch-tokenCreate new token with AMM - GET
/v1/launch-token/status/{sessionId}Launch session status - GET
/v1/launch-token/queue-status/{sessionId}Queue position status - POST
/v1/launch-token/authorizeAuthorize trustline (anti-snipe) - GET
/v1/launch-token/auth-info/{issuer}/{currency}Token authorization info - GET
/v1/launch-token/check-auth/{issuer}/{currency}/{address}Check if address is authorized - GET
/v1/launch-token/calculate-fundingCalculate required XRP funding (400 on invalid params) - GET
/v1/launch-token/my-launchesyour own API key (the shared browser key gets 403)Launches created with your API key, with total count (a wallet lists its own with /launch-token/my-launches-wallet) - POST
/v1/launch-token/{sessionId}/imageUpload token image (base64, max 500KB) - GET
/v1/launch-token/my-launches-walletwallet signatureToken launches by wallet with total count - GET
/v1/launch-token/vesting-by-token/{issuer}/{currency}Vesting schedule for a launched token (response includes truncated flag when escrow list is incomplete) - GET
/v1/presaleList presales (open by default) - POST
/v1/presaleCreate a presale (issuer + sale wallets are provisioned server-side) - POST
/v1/presale/{id}/joinJoin — checks the wallet can fund the escrow above its reserve, returns the conditional EscrowCreate to sign; an unconfirmed slot may join again, an escrow that already landed is confirmed instead - POST
/v1/presale/{id}/confirmConfirm a signed escrow contribution - POST
/v1/presale/{id}/finalizeFinalize after deadline/goal: capture escrows, deliver claim Checks, seed AMM, blackhole wallets - GET
/v1/presale/{id}Presale status (public view: raise, socials, confirmed contributors, vesting; refreshes claim states on success) - GET
/v1/presale/{id}/claim-infoPer-buyer claim (CheckCash) or refund (EscrowCancel) transaction to sign - GET
/v1/presale/{id}/refund-infoAlias of claim-info
Verification (5)
- GET
/v1/verify/pricingVerification tier pricing - GET
/v1/verify/stripe/status/{sessionId}Check Stripe verification payment status; fulfills if webhook was missed - POST
/v1/verify/requestCreate XRP invoice for token/collection verification - POST
/v1/verify/confirmConfirm verification payment - POST
/v1/verify/stripe/checkoutStripe checkout for verification
Tweet Verify (9)
- GET
/v1/tweet/token/{md5}Tweet verifications for a token (md5) or NFT collection (slug) - GET
/v1/tweet/account/{account}Tweet verifications by account - POST
/v1/tweet/verifywallet signatureVerify a promotional tweet and credit the wallet. One verification per wallet every 2 hours, up to 6 tokens per X account per UTC day, and a tweet earns from one pool. - GET
/v1/promotion/pool/{md5}Get promotion pool info (status, amounts, expiry) - GET
/v1/promotion/reward/{md5}/{account}Get reward status for a token - GET
/v1/promotion/leaderboard/{md5}Per-token promoter leaderboard - GET
/v1/promotion/profile/{account}Global promotion stats - GET
/v1/promotion/tiersPromoter tier metadata - POST
/v1/promotion/claimClaim earned promotion rewards (paid in XRP)
Boost (10)
- GET
/v1/boost/quote/{md5}Get quote for boosting a token - POST
/v1/boost/purchaseCreate boost payment request - GET
/v1/boost/verify/{invoiceId}Verify payment and apply boost - POST
/v1/boost/stripeCreate Stripe checkout for boost - GET
/v1/boost/stripe/{sessionId}Check Stripe boost payment status - GET
/v1/boost/nft/quote/{slug}Quote price for boosting an NFT collection (slug also accepts "<issuer>:<taxon>") - POST
/v1/boost/nft/purchaseInitiate XRP-paid NFT collection boost - GET
/v1/boost/nft/verify/{invoiceId}Verify NFT boost payment - POST
/v1/boost/nft/stripeInitiate Stripe-paid NFT collection boost - GET
/v1/boost/nft/stripe/{sessionId}Check Stripe checkout status for NFT boost
Bridge (6)
Testnet (21)
- GET
/v1/testnet/fixturesWhat the simulation keeps alive on Testnet: live accounts, its tokens (tokens[]: name, currency, issuer, holders, amm, role — stablecoin | deep (the high-liquidity pool) | volatile (a thin pool, swung every round) | crowd — with a note saying what each does, and peg_usd on the stablecoin), its collections (collections[]: name, issuer, taxon, role blue-chip | drop, note, items), an NFT with offers, one of every ledger object, and a real transaction of each type (catalogue[]: id, kind, about, result, hash, and tx — the JSON it sent, without fee, sequence, expiry or signature, a working template for that variation) — start here - GET
/v1/testnet/healthBoth collectors' head ledger against the network, and whether that is current - GET
/v1/testnet/tokensTestnet tokens. tvl is the token's XRP pool valued on both sides (twice its XRP reserve); a token with no XRP pool has none - GET
/v1/testnet/tokens/{md5}A Testnet token with its AMM pool - GET
/v1/testnet/tokens/{md5}/holdersHolders of a Testnet token, largest first - GET
/v1/testnet/tokens/{md5}/offersThe order book of a Testnet token against XRP - GET
/v1/testnet/tokens/{md5}/tradesFills of a Testnet token, newest first - GET
/v1/testnet/tokens/{md5}/ohlc5-minute candles of a Testnet token - GET
/v1/testnet/accounts/{address}A Testnet account as the collector last saw it, with its trust lines, resting offers and last 20 trades - GET
/v1/testnet/ammTestnet AMM pools, deepest first. A pool of two tokens has token and token2 (in a fixed order, by code) and xrp 0; its spot is token2 per token - GET
/v1/testnet/amm/{account}A Testnet AMM pool by its account - GET
/v1/testnet/nft/collectionsTestnet NFT collections, by issuer and taxon. volume/sales are all-time XRP sales; vol24h/sales24h the last 24 h, recounted every minute - GET
/v1/testnet/nft/collections/{id}A Testnet NFT collection - GET
/v1/testnet/nft/collections/{id}/nftsThe live NFTs of a Testnet collection - GET
/v1/testnet/nft/historyTestnet NFT events, newest first - GET
/v1/testnet/nft/{id}A Testnet NFT with the offers standing on it - GET
/v1/testnet/nft/{id}/offersThe offers standing on a Testnet NFT, split by side - GET
/v1/testnet/{address}Live Testnet XRP balance, reserve, sequence and settings of an account, straight from the network - POST
/v1/testnet/rpcThe XRP Ledger's own READ commands against our Testnet node — the half of Testnet that is not in the index: account_objects, book_offers, amm_info, ledger_entry, server_info and the rest. Reads only (submitting is POST /testnet/submit); the node's in-band error (actNotFound, entryNotFound) rides in result with a 200, as on Mainnet - POST
/v1/testnet/submitSubmit a SIGNED transaction to Testnet through our own node — the contract of POST /submit with the prefix changed. Nothing here signs or holds a seed; fund an account with POST /faucet first - GET
/v1/testnet/tx/{hash}A Testnet transaction and its final result, from our node: validated, the ledger it closed in, result (meta.TransactionResult), the transaction and its meta. 404 until the node has seen it
Tools (6)
- GET
/v1/healthService health check with per-service latency - GET
/v1/openapi.jsonOpenAPI 3.1 spec for the whole API (270+ paths) - GET
/v1/docsThis documentation (JSON). Browsers (Accept: text/html) are redirected to the human-readable docs. - GET
/v1/web-searchAPI key required (401 without)Web search via SearXNG - GET
/v1/embed/{md5}Embeddable candlestick chart (HTML iframe) - GET
/v1/embed/score/{md5}Embeddable token safety-score badge (HTML iframe)
Xaman (3)
- POST
/v1/xaman/payloadxrpl.to platform key (our own surfaces only; 403 otherwise)Create a Xaman sign request — returns { uuid, next.always (open in Xaman), refs.qr_png, refs.websocket_status }. xrpl.to surfaces only (platform key); user_token is refused - GET
/v1/xaman/payload/{uuid}Sign request status (live, never cached): meta.signed/expired/cancelled, response.account (SignIn answer), response.txid (submitted transaction) - DELETE
/v1/xaman/payload/{uuid}xrpl.to platform key (our own surfaces only; 403 otherwise)Cancel an unsigned sign request (xrpl.to surfaces only)
Referrals (10)
- GET
/v1/referral/{address}Get soldier profile - GET
/v1/referral/{address}/statsBadge progress and tier stats - GET
/v1/referral/leaderboard/{type}Leaderboard - GET
/v1/referral/meta/tiersTier definitions - GET
/v1/referral/meta/badgesBadge definitions - GET
/v1/referral/meta/missionsMission quest chains - GET
/v1/referral/meta/seasonSeasonal leaderboard rewards - GET
/v1/referral/{address}/earningsReferral earnings breakdown for an address - GET
/v1/referral/{address}/feesReferral fee history; response includes asReferrerTotal/asRecruitTotal for paging - GET
/v1/referral/resolve/{code}Resolve a referral code to validity/owner