{"id":1285,"date":"2026-07-14T11:36:30","date_gmt":"2026-07-14T11:36:30","guid":{"rendered":"https:\/\/nownodes.io\/blog\/?p=1285"},"modified":"2026-07-14T11:36:32","modified_gmt":"2026-07-14T11:36:32","slug":"how-to-track-issued-tokens-on-xrp-using-gateway-balance","status":"publish","type":"post","link":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/","title":{"rendered":"How to Identify Dead Tokens on XRP Using Gateway Balances"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">More than 90,000 tokens have been issued on the XRPL, and the vast majority are abandoned, never traded, or outright scams, according to token market data from <a href=\"https:\/\/xrpl.to\/token-market\" rel=\"nofollow noopener noreferrer\">XRPL.to<\/a>. For anyone auditing an asset, vetting a trust line, or building an analytics tool, the practical question is simple: how do you tell a live token from a dead one? The fastest answer is a single API call. Run the <code>gateway_balances<\/code> method against an issuer, look at what is still in circulation, and confirm it on an XRP explorer. This guide walks that process from the ground up \u2014 what a dead token actually is, why the check matters, and how to run it without maintaining any infrastructure of your own.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-a-dead-token-on-xrp\">What Is a &#8220;Dead Token&#8221; on XRP?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s start with the basics before touching the API. A token on the XRPL is not the same thing as XRP. XRP is the native asset, capped at 100 billion units. Everything else \u2014 every stablecoin, memecoin, and fiat-backed IOU \u2014 is an <strong>issued token<\/strong> created by an ordinary account. Anyone can mint one, which is exactly why so many pile up.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Dead token (XRPL):<\/strong> an issued currency that is no longer economically active \u2014 its issuer has gone quiet, almost nothing remains in circulation, no one is trading it, and in some cases the issuer has frozen it. The token still exists on-ledger, but it no longer functions as a usable asset.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The reason there are tens of thousands of these comes down to how issuance works. Issued tokens have also been called &#8220;IOUs&#8221; or &#8220;trust line tokens,&#8221; and the <a href=\"https:\/\/xrpl.org\/docs\/concepts\/tokens\/fungible-tokens\/trust-line-tokens\" rel=\"nofollow noopener noreferrer\">official XRPL documentation<\/a> describes them as balances one account owes another. Creating a token costs the issuer almost nothing, so the ledger accumulates them faster than the market can ever use them.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"how-tokens-get-issued-in-the-first-place\">How Tokens Get Issued in the First Place<\/h3>\n\n\n<p class=\"wp-block-paragraph\">To hold an issued token, a wallet has to opt in by opening a <strong>trust line<\/strong> to the issuer. That opt-in is what stops random tokens from landing in your wallet uninvited \u2014 but it also has a cost. Each account locks a <strong>1 XRP base reserve<\/strong> just to exist, plus <strong>0.2 XRP for every trust line<\/strong> it opens, per the current <a href=\"https:\/\/xrpl.org\/docs\/concepts\/accounts\/reserves\" rel=\"nofollow noopener noreferrer\">reserve requirements<\/a> (both figures were reduced in December 2024).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s why that matters for dead tokens. When a project fails, holders often abandon the trust line rather than pay attention to it, and the issuer stops doing anything at all. The token doesn&#8217;t get deleted \u2014 it just goes silent. Multiply that by thousands of failed projects and you get a ledger crowded with husks.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"the-signals-that-a-token-is-dead\">The Signals That a Token Is Dead<\/h3>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token-1024x683.png\" alt=\"\" class=\"wp-image-2502\" srcset=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token-1024x683.png 1024w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token-300x200.png 300w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token-768x512.png 768w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A dead token gives off a recognizable pattern. No single signal is proof on its own, but together they tell the story:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Empty obligations<\/strong> \u2014 nothing the issuer created is still held by outside accounts.<\/li>\n\n\n\n<li><strong>Few or zero funded trust lines<\/strong> \u2014 nobody holds a balance, or the handful who do hold dust.<\/li>\n\n\n\n<li><strong>No trading activity<\/strong> \u2014 no order books, no active liquidity pool, no recent transactions.<\/li>\n\n\n\n<li><strong>A dormant issuer<\/strong> \u2014 the issuing account hasn&#8217;t transacted in months or years.<\/li>\n\n\n\n<li><strong>A frozen balance<\/strong> \u2014 the issuer has locked the token, so holders can&#8217;t move it anyway.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The good news is that the first signal \u2014 obligations \u2014 is a single API call away, and it&#8217;s the strongest one to lead with.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"why-tracking-issued-tokens-matters-and-who-relies-on-it\">Why Tracking Issued Tokens Matters (and Who Relies on It)<\/h2>\n\n\n<p class=\"wp-block-paragraph\">This isn&#8217;t a purely academic exercise. Knowing what an issuer actually has in circulation is a routine need for several groups, and getting it wrong has real consequences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stablecoin and gateway operators need it for <strong>auditing<\/strong>: the total they&#8217;ve issued has to match the reserves backing it, and <code>obligations<\/code> is where that number lives. Exchanges and compliance teams use it for due diligence before listing an asset or approving a deposit. Analysts building dashboards pull it to monitor liquidity across the market. And everyday holders should run a quick check before opening a trust line to something they found on social media \u2014 because a lot of what&#8217;s out there is bait.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That last point is worth dwelling on, because the scale of junk on-ledger is a documented problem. In a May 2026 alert to his followers, Ripple&#8217;s veteran CTO David Schwartz put it plainly:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8220;There has been a huge escalation lately in airdrop and giveaway scams targeting XRPL users. Any such posts you see are likely scams.&#8221; \u2014 David Schwartz, via <a href=\"https:\/\/news.bitcoin.com\/ripples-schwartz-warns-xrp-users-to-stay-safe-from-giveaway-scams\/\" rel=\"nofollow noopener noreferrer\">Bitcoin.com<\/a><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The takeaway is that a large share of issued tokens are not just inactive but deliberately deceptive. Being able to identify dead tokens on the ledger \u2014 quickly, from live data \u2014 is a basic defensive skill, not a niche one.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"meet-gatewaybalances-the-core-method\">Meet gateway_balances \u2014 The Core Method<\/h2>\n\n\n<p class=\"wp-block-paragraph\">The tool that answers most of these questions is a single API command called <code>gateway_balances<\/code>. This is critical to understand, so here&#8217;s the plain definition.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>gateway_balances:<\/strong> an XRPL API method that calculates the total balances issued by a given account. It can optionally exclude amounts held by the issuer&#8217;s own operational wallets, so you see only what&#8217;s genuinely in the hands of third parties.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">According to the <a href=\"https:\/\/xrpl.org\/docs\/references\/http-websocket-apis\/public-api-methods\/account-methods\/gateway_balances\" rel=\"nofollow noopener noreferrer\">official reference<\/a>, a successful response returns three fields that matter for our purposes. Learn to read these three and you can classify almost any token.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>What it tells you<\/th><th>Dead-token signal<\/th><\/tr><\/thead><tbody><tr><td><code>obligations<\/code><\/td><td>Total of each currency the issuer put into circulation, held by outside accounts<\/td><td>Empty or negligible = strong sign the token is dead<\/td><\/tr><tr><td><code>balances<\/code><\/td><td>Amounts held by the specific operational (hot) wallets you name in the request<\/td><td>Useful for excluding the issuer&#8217;s own holdings<\/td><\/tr><tr><td><code>assets<\/code><\/td><td>Tokens the issuer holds that were issued by <em>others<\/em><\/td><td>A clean issuer normally shows none<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">One caution before you build against it: the official docs note that some public API providers disable <code>gateway_balances<\/code> because it can be processing-heavy. You need a provider that keeps it enabled \u2014 which is where the next section comes in.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-identify-dead-tokens-with-gatewaybalances\">How to Identify Dead Tokens with gateway_balances<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s the practical part. You don&#8217;t need to sync your own server to run this check \u2014 you can query the XRPL directly through a hosted endpoint. NOWNodes keeps <code>gateway_balances<\/code> enabled and gives you API access on a free tier, so the whole flow takes a few minutes.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"step-1-get-an-endpoint-and-api-key\">Step 1: Get an Endpoint and API Key<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Sign up at <a href=\"https:\/\/nownodes.io\/nodes\/ripple-xrp\">NOWNodes<\/a> and generate a key from your dashboard. The free <strong>START<\/strong> plan covers 100,000 requests per month at 15 requests per second across five networks \u2014 plenty for auditing tokens or testing a script. Your XRP endpoint follows a simple format:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>POST https:\/\/xrp.nownodes.io\nHeader: api-key: YOUR_API_KEY<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Keep that key server-side. Never paste it into public repositories or frontend code where anyone can lift it.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"step-2-query-the-issuer\">Step 2: Query the Issuer<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Send a <code>gateway_balances<\/code> request with the issuer&#8217;s address in the <code>account<\/code> field. Setting <code>ledger_index<\/code> to <code>validated<\/code> guarantees you&#8217;re reading finalized data, and <code>strict<\/code> mode makes the method reject anything that isn&#8217;t a proper address.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"method\": \"gateway_balances\",\n  \"params\": &#91;\n    {\n      \"account\": \"rISSUERADDRESSGOESHERE00000000000\",\n      \"ledger_index\": \"validated\",\n      \"strict\": true\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the issuer runs operational wallets you want to exclude, add a <code>hotwallet<\/code> array listing those addresses. For a dead-token check you usually don&#8217;t need it \u2014 you want the raw circulation number.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"step-3-read-the-response\">Step 3: Read the Response<\/h3>\n\n\n<p class=\"wp-block-paragraph\">This is where the token reveals itself. A <strong>living<\/strong> token comes back with real numbers in <code>obligations<\/code>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"result\": {\n    \"account\": \"rISSUERADDRESSGOESHERE00000000000\",\n    \"obligations\": { \"USD\": \"1997134.20229482\" },\n    \"ledger_index\": 102609804,\n    \"validated\": true\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>dead<\/strong> token looks different. Because <code>obligations<\/code> is omitted when it&#8217;s empty, the response comes back with no obligations object at all:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">json<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"result\": {\n    \"account\": \"rDEADISSUERADDRESS0000000000000000\",\n    \"ledger_index\": 102609804,\n    \"validated\": true\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That empty result is your headline signal: nothing this issuer created is still held by anyone else. The <code>validated: true<\/code> flag confirms the data is final and trustworthy, not a guess from an in-progress ledger. It&#8217;s a fast, unambiguous first filter \u2014 but for a confident verdict, pair it with an explorer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"crosscheck-with-an-xrp-explorer\">Cross-Check with an XRP Explorer<\/h2>\n\n\n<p class=\"wp-block-paragraph\">The API tells you the circulation number. An <strong>XRP explorer<\/strong> fills in the context around it \u2014 how many people ever held the token, when the issuer last did anything, and whether any market exists. Every major XRP explorer is free and needs no account.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Explorer<\/th><th>Best for<\/th><th>Link<\/th><\/tr><\/thead><tbody><tr><td>XRPScan<\/td><td>Trust lines, holders, AMMs, issuer activity<\/td><td><a href=\"https:\/\/xrpscan.com\/\" rel=\"nofollow noopener noreferrer\">xrpscan.com<\/a><\/td><\/tr><tr><td>Bithomp<\/td><td>Per-token pages with supply, holders, and markets<\/td><td><a href=\"https:\/\/bithomp.com\/\" rel=\"nofollow noopener noreferrer\">bithomp.com<\/a><\/td><\/tr><tr><td>XRPL Explorer (official)<\/td><td>Live balances and ledger state<\/td><td><a href=\"https:\/\/livenet.xrpl.org\/\" rel=\"nofollow noopener noreferrer\">livenet.xrpl.org<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">On any of these, pull up the issuing account or the specific token and check four things: the number of funded trust lines, the holder count, the date of the last transaction, and whether a DEX order book or liquidity pool still exists. A token with a dead issuer, a shrinking holder count, and no market is about as clear a verdict as you&#8217;ll get.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"watch-for-frozen-tokens\">Watch for Frozen Tokens<\/h3>\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s one more state that makes a token effectively dead for its holders: a freeze. An issuer can lock a trust line so the balance can&#8217;t move, and since May 5, 2025 the <a href=\"https:\/\/xrpl.org\/docs\/concepts\/tokens\/fungible-tokens\/deep-freeze\" rel=\"nofollow noopener noreferrer\">Deep Freeze<\/a> feature lets them go further \u2014 a deep-frozen holder can only send the currency straight back to the issuer. It&#8217;s designed for compliance on regulated assets, but the practical effect is the same as death for anyone holding the balance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An explorer surfaces these freeze flags on the trust line. If you see a global freeze or a deep freeze on a token you were considering, treat it as a hard stop \u2014 the asset isn&#8217;t yours to move.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"a-quick-checklist-for-spotting-dead-tokens\">A Quick Checklist for Spotting Dead Tokens<\/h2>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token1-1024x683.png\" alt=\"\" class=\"wp-image-2504\" srcset=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token1-1024x683.png 1024w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token1-300x200.png 300w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token1-768x512.png 768w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/token1.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Put the two tools together and you have a repeatable process. Run it in order and you&#8217;ll rarely be wrong:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Call <code>gateway_balances<\/code> on the issuer.<\/strong> No obligations returned? Strong dead signal.<\/li>\n\n\n\n<li><strong>Open an XRP explorer.<\/strong> Check funded trust lines and holder count \u2014 near zero confirms it.<\/li>\n\n\n\n<li><strong>Look at activity.<\/strong> No recent transactions from the issuer means a dormant project.<\/li>\n\n\n\n<li><strong>Check for markets.<\/strong> No order book and no liquidity pool means no one is trading it.<\/li>\n\n\n\n<li><strong>Scan for freezes.<\/strong> A global or deep freeze makes the token dead on arrival for holders.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">If a token fails most of these, it&#8217;s dead \u2014 and if you were about to open a trust line to it, you just saved yourself 0.2 XRP and a headache.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusion<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Identifying dead tokens on the ledger isn&#8217;t guesswork once you know where to look. The <code>gateway_balances<\/code> method gives you the single most telling number \u2014 what&#8217;s actually in circulation \u2014 and an XRP explorer confirms the story with trust lines, holders, activity, and freeze status. Together they turn a vague &#8220;is this real?&#8221; into a clear, data-backed answer in a couple of minutes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The only piece you need is reliable access to live data, and that no longer means running heavy infrastructure. With <a href=\"https:\/\/nownodes.io\/nodes\/ripple-xrp\">NOWNodes<\/a>, you point a request at an endpoint, read the response, and move on \u2014 with <code>gateway_balances<\/code> enabled and a free tier to start. In a market where most issued tokens are abandoned or worse, being able to tell the living from the dead is one of the more useful checks you can run.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n<p class=\"wp-block-paragraph\"><strong>What is a dead token on the XRPL?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s an issued token that&#8217;s no longer economically active \u2014 the issuer has gone quiet, little or nothing remains in circulation, and no one is trading it. The token still exists on-ledger, but it&#8217;s effectively a husk. With more than 90,000 tokens issued and most of them abandoned or scams, dead tokens are the norm, not the exception.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How do I identify dead tokens on the ledger quickly?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run the <code>gateway_balances<\/code> method against the issuer&#8217;s address. If the response returns no <code>obligations<\/code>, nothing the issuer created is still held by outside accounts \u2014 a strong sign the token is dead. Confirm it on an XRP explorer by checking trust lines, holders, and trading activity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What does the gateway_balances method actually return?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Three fields matter: <code>obligations<\/code> (the total in circulation held by third parties), <code>balances<\/code> (amounts held by operational wallets you specify), and <code>assets<\/code> (tokens the issuer holds that were issued by others). For a dead-token check, an empty <code>obligations<\/code> field is the number to watch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Which XRP explorer is best for checking tokens?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">XRPScan and Bithomp are the most detailed for token research \u2014 both show trust lines, holders, and markets, and Bithomp has dedicated per-token pages. The official explorer at livenet.xrpl.org is a solid choice for live balances and ledger state. All are free and need no account.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can a token be alive but frozen?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, and it&#8217;s an important edge case. An issuer can freeze a trust line so holders can&#8217;t move the balance, and the Deep Freeze feature (live since May 5, 2025) tightens that further. A frozen token may still show circulation, but for the holder it&#8217;s just as unusable as a dead one \u2014 so always scan for freeze flags.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Why are there so many dead tokens on the XRPL?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because issuing a token costs the creator almost nothing, and holding one only requires a trust line. Projects launch, fail, and get abandoned, but the tokens they created are never removed \u2014 they just go dormant. The result is a ledger with far more dead tokens than live ones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Do I need to run my own infrastructure to check this?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No. You can query the XRPL through a hosted endpoint like NOWNodes, which keeps <code>gateway_balances<\/code> enabled and offers a free START plan with 100,000 requests per month. You get an API key, point requests at the XRP endpoint, and read the results \u2014 no server to sync or maintain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does an empty obligations field always mean the token is dead?<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s the strongest single signal, but not absolute proof \u2014 a brand-new issuer that hasn&#8217;t distributed anything yet would also show empty obligations. That&#8217;s why the reliable method is to combine the API result with an explorer check on issuer activity and markets before calling a token dead.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>More than 90,000 tokens have been issued on the XRPL, and the vast majority are abandoned, never traded, or outright scams, according to token market data from XRPL.to. For anyone auditing an asset, vetting a trust line, or building an analytics tool, the practical question is simple: how do you tell a live token from [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1286,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_lmt_disableupdate":"","_lmt_disable":"","_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[9],"tags":[123,376],"class_list":["post-1285","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","tag-rpc-nodes","tag-xrp"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Identify Dead Tokens on XRP with Gateway Balances<\/title>\n<meta name=\"description\" content=\"Learn how to identify dead tokens on the XRPL using the gateway_balances method and an XRP explorer. Step-by-step checks for obligations, trust lines, and freezes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Identify Dead Tokens on XRP with Gateway Balances\" \/>\n<meta property=\"og:description\" content=\"Learn how to identify dead tokens on the XRPL using the gateway_balances method and an XRP explorer. Step-by-step checks for obligations, trust lines, and freezes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\" \/>\n<meta property=\"og:site_name\" content=\"NOWNodes Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-14T11:36:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-14T11:36:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/coin_4-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"\u0410nastasia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nownodes\" \/>\n<meta name=\"twitter:site\" content=\"@nownodes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0410nastasia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\"},\"author\":{\"name\":\"\u0410nastasia\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8\"},\"headline\":\"How to Identify Dead Tokens on XRP Using Gateway Balances\",\"datePublished\":\"2026-07-14T11:36:30+00:00\",\"dateModified\":\"2026-07-14T11:36:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\"},\"wordCount\":2269,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#organization\"},\"keywords\":[\"RPC Nodes\",\"xrp\"],\"articleSection\":[\"General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\",\"url\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\",\"name\":\"How to Identify Dead Tokens on XRP with Gateway Balances\",\"isPartOf\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#website\"},\"datePublished\":\"2026-07-14T11:36:30+00:00\",\"dateModified\":\"2026-07-14T11:36:32+00:00\",\"description\":\"Learn how to identify dead tokens on the XRPL using the gateway_balances method and an XRP explorer. Step-by-step checks for obligations, trust lines, and freezes.\",\"breadcrumb\":{\"@id\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/nownodes.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"General\",\"item\":\"https:\/\/nownodes.io\/blog\/category\/general\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Identify Dead Tokens on XRP Using Gateway Balances\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nownodes.io\/blog\/#website\",\"url\":\"https:\/\/nownodes.io\/blog\/\",\"name\":\"NOWNodes Blog\",\"description\":\"Your first-to-go source of development guides, web3 analytics and most recent news about NOWNodes\",\"publisher\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nownodes.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nownodes.io\/blog\/#organization\",\"name\":\"NOWNodes Blog\",\"url\":\"https:\/\/nownodes.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png\",\"contentUrl\":\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png\",\"width\":1164,\"height\":1164,\"caption\":\"NOWNodes Blog\"},\"image\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/nownodes\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8\",\"name\":\"\u0410nastasia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g\",\"caption\":\"\u0410nastasia\"},\"url\":\"https:\/\/nownodes.io\/blog\/author\/nasty-nownodes\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Identify Dead Tokens on XRP with Gateway Balances","description":"Learn how to identify dead tokens on the XRPL using the gateway_balances method and an XRP explorer. Step-by-step checks for obligations, trust lines, and freezes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/","og_locale":"en_US","og_type":"article","og_title":"How to Identify Dead Tokens on XRP with Gateway Balances","og_description":"Learn how to identify dead tokens on the XRPL using the gateway_balances method and an XRP explorer. Step-by-step checks for obligations, trust lines, and freezes.","og_url":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/","og_site_name":"NOWNodes Blog","article_published_time":"2026-07-14T11:36:30+00:00","article_modified_time":"2026-07-14T11:36:32+00:00","og_image":[{"width":2400,"height":1200,"url":"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2025\/04\/coin_4-2.png","type":"image\/png"}],"author":"\u0410nastasia","twitter_card":"summary_large_image","twitter_creator":"@nownodes","twitter_site":"@nownodes","twitter_misc":{"Written by":"\u0410nastasia","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#article","isPartOf":{"@id":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/"},"author":{"name":"\u0410nastasia","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8"},"headline":"How to Identify Dead Tokens on XRP Using Gateway Balances","datePublished":"2026-07-14T11:36:30+00:00","dateModified":"2026-07-14T11:36:32+00:00","mainEntityOfPage":{"@id":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/"},"wordCount":2269,"commentCount":0,"publisher":{"@id":"https:\/\/nownodes.io\/blog\/#organization"},"keywords":["RPC Nodes","xrp"],"articleSection":["General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/","url":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/","name":"How to Identify Dead Tokens on XRP with Gateway Balances","isPartOf":{"@id":"https:\/\/nownodes.io\/blog\/#website"},"datePublished":"2026-07-14T11:36:30+00:00","dateModified":"2026-07-14T11:36:32+00:00","description":"Learn how to identify dead tokens on the XRPL using the gateway_balances method and an XRP explorer. Step-by-step checks for obligations, trust lines, and freezes.","breadcrumb":{"@id":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nownodes.io\/blog\/how-to-track-issued-tokens-on-xrp-using-gateway-balance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/nownodes.io\/blog"},{"@type":"ListItem","position":2,"name":"General","item":"https:\/\/nownodes.io\/blog\/category\/general"},{"@type":"ListItem","position":3,"name":"How to Identify Dead Tokens on XRP Using Gateway Balances"}]},{"@type":"WebSite","@id":"https:\/\/nownodes.io\/blog\/#website","url":"https:\/\/nownodes.io\/blog\/","name":"NOWNodes Blog","description":"Your first-to-go source of development guides, web3 analytics and most recent news about NOWNodes","publisher":{"@id":"https:\/\/nownodes.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nownodes.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nownodes.io\/blog\/#organization","name":"NOWNodes Blog","url":"https:\/\/nownodes.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png","contentUrl":"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png","width":1164,"height":1164,"caption":"NOWNodes Blog"},"image":{"@id":"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/nownodes"]},{"@type":"Person","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8","name":"\u0410nastasia","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g","caption":"\u0410nastasia"},"url":"https:\/\/nownodes.io\/blog\/author\/nasty-nownodes"}]}},"modified_by":"\u0410nastasia","_links":{"self":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts\/1285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/comments?post=1285"}],"version-history":[{"count":2,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts\/1285\/revisions"}],"predecessor-version":[{"id":2505,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts\/1285\/revisions\/2505"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/media\/1286"}],"wp:attachment":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/media?parent=1285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/categories?post=1285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/tags?post=1285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}