GET /token/flow/{id}
GET

/v1/token/flow/{id}

Creator allocation and distribution analysis (precomputed)

AuthNone — works without a key

Request

GEThttps://api.xrpl.to/v1/token/flow/0dd550278b74cb6690fdae351e8e0df3
Path parameterValueDescription
idA token id: its md5, slug or issuer_currency
curl 'https://api.xrpl.to/v1/token/flow/0dd550278b74cb6690fdae351e8e0df3'

Response

200Example response4 ms · just now · 11 KB · 375 lines
https://api.xrpl.to/v1/token/flow/0dd550278b74cb6690fdae351e8e0df3
{
  "success": true,
  "token": {
    "md5": "0dd550278b74cb6690fdae351e8e0df3",
    "name": "RLUSD",
    "currency": "524C555344000000000000000000000000000000",
    "issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
    "creator": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De"
  },
  "summary": {
    "totalTransferred": 60463749,
    "creatorBurnedTokens": 0,
    "creatorBurnCount": 0,
    "recipientCount": 1,
    "fanoutHoldingTokens": 277563405,
    "fanoutHoldingCount": 27,
    "fanoutSoldTokens": 199975,
    "lpDepositedTokens": 0,
    "lpDepositorCount": 0,
    "creatorAllocatedTokens": 0,
    "creatorDeliveredTokens": 0,
    "creatorLockedTokens": 0,
    "creatorAllocRoute": "none",
    "creatorNextUnlock": null,
    "creatorAllocSoldTokens": 0,
    "creatorAllocTransferredTokens": 60463749,
    "creatorLpTokens": 0,
    "creatorLpCount": 0,
    "creatorHeldTokens": null,
    "creatorUntracedTokens": null,
    "cutHeldTokens": 0,
    "cutSoldTokens": 0,
    "cutPooledTokens": 0,
    "cutBurnedTokens": 0,
    "cutPassedOnTokens": 0,
    "cutUntracedTokens": 0,
    "placedHeldTokens": 31578207,
    "placedSoldTokens": 455,
    "placedPooledTokens": 0,
    "placedBurnedTokens": 0,
    "placedToExchangeTokens": 22229836,
    "exchangeSentXrpValue": 0,
    "exchangeValuedTokens": 0,
    "exchangeUnvaluedTokens": 0,
    "placedReturnedTokens": 0,
    "placedUntracedTokens": 6655251,
    "placedUnscannedTokens": 0,
    "placedHops": 12,
    "placedDeepestHop": 3,
    "creatorScanComplete": false
  },
  "linkedAddresses": [
    {
      "addresses": [
        "rw4EbhXpodcPFCEPAtWpSTUQNPJhL9pFJs",
        "rhZiHnkXf4n5VfFBo29Na362vpLbzyv9Xj"
      ],
      "count": 2,
      "includesCreator": false
    }
  ],
  "exchangeBreakdown": [],
  "graph": {
    "nodes": [
      {
        "id": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
        "type": "creator",
        "label": "Creator",
        "address": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
        "action": "neutral",
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "depositXrp": 0,
        "depositTokens": 0,
        "withdrawXrp": 0,
        "withdrawTokens": 0,
        "deposits": 0,
        "withdrawals": 0,
        "netXrp": 0
      },
      {
        "id": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "type": "recipient",
        "relation": "direct",
        "from": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
        "receivedXrpValue": 0,
        "label": "RLUSD",
        "name": "RLUSD",
        "received": 60463749,
        "action": "transferred",
        "address": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "balance": 24994000,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "soldXrp24h": 0,
        "boughtXrp24h": 0,
        "transfersOut": 805,
        "transferredTokens": 3683225129,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 5,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "raBQUYdAhnnojJQ6Xi3eXztZ74ot24RDq1",
            "amount": 1341359129,
            "time": 1775057500000,
            "hash": "3E4BFAAC9AE4D2FFF13926176AAA456457498F0357B03B51C89914E3080F920D"
          },
          {
            "to": "rLoD9U2ghXP2xUYbtML6G6v1p8LhM9mSnc",
            "amount": 775080216,
            "time": 1791321160000,
            "hash": "B40AF540A4B48E466708A754D4017048FDD83EF479911F62A15DABA2E5A9CDE7"
          },
          {
            "to": "rp6vx6zwXkiXTXAZvxhADT7YiLuPhoyZzz",
            "amount": 469450038,
            "time": 1779280930000,
            "hash": "46C358973C18C8425D8AEED01EC85A24921619D8E7EDE986006876EF36646262"
          },
          {
            "to": "rMrjxnZGdsbfCuX3GKjFpAjwNw3XdWy9cu",
            "amount": 283600366,
            "time": 1787153170000,
            "hash": "1DCF690184436F81518B65029ECD0F59EAEF453230743A0AB25A3A3DFB9EB178"
          },
          {
            "to": "rNgqhkaPUxG8n5gBWyPd2pETkBmJQc3dHS",
            "amount": 207330276,
            "time": 1781536590000,
            "hash": "A51785B5F85DD366E772549BCCA1FFD228707DC7C07696B7537C3F1A4C62AF5C"
          }
        ],
        "destCount": 40,
        "destChunk": 0,
        "destUniform": false,
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "xrpScanComplete": true,
        "maxLedger": 107546820,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 25,
        "destHoldingTokens": 233909755,
        "destSoldTokens": 0
      },
      {
        "id": "rGDxnYYhzsHxJrF8n5qZTnb3V8MyFHFLi8",
        "type": "level2",
        "relation": "indirect",
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "label": "rGDxnYYh...",
        "name": null,
        "received": 36227712,
        "action": "transferred",
        "address": "rGDxnYYhzsHxJrF8n5qZTnb3V8MyFHFLi8",
        "balance": 10,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "soldXrp24h": 0,
        "boughtXrp24h": 0,
        "transfersOut": 55,
        "transferredTokens": 60756365,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 1,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "rBuZfn1m4tA6znziHsRp9AyC1M3qg6rgbF",
            "amount": 33265865,
            "time": 1778851332000,
            "hash": "878A32ACDADC5D9931E3D3E4466C3D68061DAAF6F24322CD475F0BE85ADD75F6"
          },
          {
            "to": "rGpaXxcBQFCkELhqnHbrascpPDdxSbNqxA",
            "amount": 24528861,
            "time": 1787522871000,
            "hash": "9398661A9007075853196150148F174952C69817060F64AAC506AA4550BC3AFB"
          },
          {
            "to": "rfah8jhiJwPhcWEn2eQZehWqKKqAWGjxp1",
            "amount": 2961639,
            "time": 1785254481000,
            "hash": "6C613662BADC09FADD845A484AEDF0D75A8C89818791288CC70E0C39C1FC08BD"
          }
        ],
        "destCount": 3,
        "destChunk": 0,
        "destUniform": false,
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "xrpScanComplete": true,
        "maxLedger": 107467801,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 2,
        "destHoldingTokens": 19102095,
        "destSoldTokens": 0,
        "destSellerCount": 0
      },
      {
        "id": "r3GW6d9oevkkUN9yKq5GcDQDBXg7XSs9Jk",
        "type": "level2",
        "relation": "indirect",
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "label": "r3GW6d9o...",
        "name": null,
        "received": 34026708,
        "action": "transferred",
        "address": "r3GW6d9oevkkUN9yKq5GcDQDBXg7XSs9Jk",
        "balance": 2053112,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "soldXrp24h": 0,
        "boughtXrp24h": 0,
        "transfersOut": 11,
        "transferredTokens": 33027008,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 1,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "r3Nbg1S7dnEi38s3qNoDzs14KwESQU3a64",
            "amount": 33001796,
            "time": 1731701962000,
            "hash": "E3873D177E09376AC524D491AEFFAE285358BE9221885C381BE9AE3AF3F1F451"
          },
          {
            "to": "rW8aMrvXTRp52GfURdhBfvPmrkegqyUXx",
            "amount": 25102,
            "time": 1738239791000,
            "hash": "6CB9EBC412855D08955203D2F0DF7DCBBBC66F53D7F0A7DAC19A2E41E8895988"
          },
          {
            "to": "rK9P1gJgghLM1pHudnHxeGt6gNF5m9vtEc",
            "amount": 100,
            "time": 1764698261000,
            "hash": "7EDE91C8F133E8FAD82D86B1BE7A70EDFEFF428CD142A0571EC91C39E6AD6C95"
          },
          {
            "to": "rKHKDm92HagSa8tYja1FLhuHJyx2Wmz52y",
            "amount": 10,
            "time": 1788874961000,
            "hash": "BAAEA70FD49CB59357E3CF67C044D3C46AC8243E0CCCB46729E9E6F3045D9CDE"
          }
        ],
        "destCount": 4,
        "destChunk": 0,
        "destUniform": false,
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "xrpScanComplete": true,
        "maxLedger": 106846431,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 2,
        "destHoldingTokens": 110,
        "destSoldTokens": 0,
        "destSellerCount": 0
      },
      {
        "id": "rLThKHFgP5EsCWq8vJTAkkwUpZhwvva716",
        "type": "level2",
        "relation": "indirect",
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "label": "rLThKHFg...",
        "name": null,
        "received": 5000105,
        "action": "transferred",
        "address": "rLThKHFgP5EsCWq8vJTAkkwUpZhwvva716",
        "balance": 0,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "soldXrp24h": 0,
        "boughtXrp24h": 0,
        "transfersOut": 4,
        "transferredTokens": 5000125,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 1,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "rKWoRYn65imVUUF2Hmtpp78E6NAjTf6ExL",
            "amount": 5000020,
            "time": 1790692011000,
            "hash": "28D58AFA9CF38A0301AEA2F06B78CFB58FE9E60AF4D26C82E9CF2EF0EBE37C07"
          },
          {
            "to": "rGpaXxcBQFCkELhqnHbrascpPDdxSbNqxA",
            "amount": 105,
            "time": 1775153640000,
            "hash": "AA6F912850FD58389FA3794BD999C9732A2DD34CEB267A61B2175FB3BB7B77C6"
          }
        ],
        "destCount": 2,
        "destChunk": 0,
        "destUniform": false,
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "xrpScanComplete": true,
        "maxLedger": 107316660,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 1,
        "destHoldingTokens": 5000020,
        "destSoldTokens": 0,
        "destSellerCount": 0
      }
    ],
    "edges": [
      {
        "from": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
        "to": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "amount": 60463749,
        "transfers": 38
      },
      {
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "to": "rGDxnYYhzsHxJrF8n5qZTnb3V8MyFHFLi8",
        "amount": 36227712
      },
      {
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "to": "r3GW6d9oevkkUN9yKq5GcDQDBXg7XSs9Jk",
        "amount": 34026708
      },
      {
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "to": "rLThKHFgP5EsCWq8vJTAkkwUpZhwvva716",
        "amount": 5000105
      },
      {
        "from": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "to": "rw4EbhXpodcPFCEPAtWpSTUQNPJhL9pFJs",
        "amount": 5000105
      }
    ]
  },
  "processedAt": 1791753832469,
  "lastLedger": 92363492
}

Long arrays and strings are shortened in the example; Send request for the full answer.

Shapeas documented
{
  success,
  token,
  summary,
  linkedAddresses[],
  exchangeBreakdown[],
  graph: { nodes[], edges[] },
  processedAt,
  lastLedger
} or { success, pending: true }

What it does

Creator allocation and distribution analysis (precomputed)

Notes
{id} must be a raw md5 (no slug resolution); serves a precomputed document, no query params. summary.creatorAllocated/Delivered/Locked* describe the creator's own cut (escrow / check / issuer payment) and where it went; their percentages are measured against circulating supply PLUS anything still locked in escrow, since escrowed tokens sit outside every trustline. summary.placed* account for everything the creator passed on and sum to totalTransferred exactly: Held, Sold, Pooled, Burned, ToExchange, Returned (back to the creator), plus two residuals that are never merged into the others - Untraced (a hop we do not follow) and Unscanned (a wallet whose history exceeded the page budget).
A token id can be its md5, slug or issuer_currency. How to build an md5 →
OpenAPI