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 response3 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": 49963749,
    "creatorBurnedTokens": 0,
    "creatorBurnCount": 0,
    "recipientCount": 1,
    "fanoutHoldingTokens": 148419663,
    "fanoutHoldingCount": 27,
    "fanoutSoldTokens": 199975,
    "lpDepositedTokens": 0,
    "lpDepositorCount": 0,
    "creatorAllocatedTokens": 0,
    "creatorDeliveredTokens": 0,
    "creatorLockedTokens": 0,
    "creatorAllocRoute": "none",
    "creatorNextUnlock": null,
    "creatorAllocSoldTokens": 0,
    "creatorAllocTransferredTokens": 49963749,
    "creatorLpTokens": 0,
    "creatorLpCount": 0,
    "creatorHeldTokens": null,
    "creatorUntracedTokens": null,
    "cutHeldTokens": 0,
    "cutSoldTokens": 0,
    "cutPooledTokens": 0,
    "cutBurnedTokens": 0,
    "cutPassedOnTokens": 0,
    "cutUntracedTokens": 0,
    "placedHeldTokens": 43110812,
    "placedSoldTokens": 142,
    "placedPooledTokens": 0,
    "placedBurnedTokens": 0,
    "placedToExchangeTokens": 5497816,
    "exchangeSentXrpValue": 0,
    "exchangeValuedTokens": 0,
    "exchangeUnvaluedTokens": 0,
    "placedReturnedTokens": 0,
    "placedUntracedTokens": 1354979,
    "placedUnscannedTokens": 0,
    "placedHops": 13,
    "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": 49963749,
        "action": "transferred",
        "address": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "balance": 40819560,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "soldXrp24h": 0,
        "boughtXrp24h": 0,
        "transfersOut": 729,
        "transferredTokens": 3036324534,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 4,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "raBQUYdAhnnojJQ6Xi3eXztZ74ot24RDq1",
            "amount": 1186444447,
            "time": 1775057500000,
            "hash": "3E4BFAAC9AE4D2FFF13926176AAA456457498F0357B03B51C89914E3080F920D"
          },
          {
            "to": "rLoD9U2ghXP2xUYbtML6G6v1p8LhM9mSnc",
            "amount": 469676375,
            "time": 1783012730000,
            "hash": "578B6DE5AFFE44A74584AF77D67266096FE906DCF5DCC20AB08B14A6FD710333"
          },
          {
            "to": "rp6vx6zwXkiXTXAZvxhADT7YiLuPhoyZzz",
            "amount": 469450038,
            "time": 1779280930000,
            "hash": "46C358973C18C8425D8AEED01EC85A24921619D8E7EDE986006876EF36646262"
          },
          {
            "to": "rMrjxnZGdsbfCuX3GKjFpAjwNw3XdWy9cu",
            "amount": 241600366,
            "time": 1787153170000,
            "hash": "1DCF690184436F81518B65029ECD0F59EAEF453230743A0AB25A3A3DFB9EB178"
          },
          {
            "to": "rNgqhkaPUxG8n5gBWyPd2pETkBmJQc3dHS",
            "amount": 186356793,
            "time": 1781536590000,
            "hash": "A51785B5F85DD366E772549BCCA1FFD228707DC7C07696B7537C3F1A4C62AF5C"
          }
        ],
        "destCount": 39,
        "destChunk": 0,
        "destUniform": false,
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "xrpScanComplete": true,
        "maxLedger": 107082428,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 25,
        "destHoldingTokens": 94369204,
        "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": 53,
        "transferredTokens": 57933968,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 1,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "rBuZfn1m4tA6znziHsRp9AyC1M3qg6rgbF",
            "amount": 33265865,
            "time": 1778851332000,
            "hash": "878A32ACDADC5D9931E3D3E4466C3D68061DAAF6F24322CD475F0BE85ADD75F6"
          },
          {
            "to": "rGpaXxcBQFCkELhqnHbrascpPDdxSbNqxA",
            "amount": 21706464,
            "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": 107059644,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 2,
        "destHoldingTokens": 36227504,
        "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": 5000000,
        "sells": 0,
        "buys": 0,
        "soldXrp": 0,
        "soldTokens": 0,
        "boughtXrp": 0,
        "boughtTokens": 0,
        "soldXrp24h": 0,
        "boughtXrp24h": 0,
        "transfersOut": 2,
        "transferredTokens": 125,
        "burnedTokens": 0,
        "burnCount": 0,
        "scanComplete": true,
        "scanPages": 1,
        "lpTokens": 0,
        "lpCount": 0,
        "destinations": [
          {
            "to": "rGpaXxcBQFCkELhqnHbrascpPDdxSbNqxA",
            "amount": 105,
            "time": 1775153640000,
            "hash": "AA6F912850FD58389FA3794BD999C9732A2DD34CEB267A61B2175FB3BB7B77C6"
          },
          {
            "to": "rKWoRYn65imVUUF2Hmtpp78E6NAjTf6ExL",
            "amount": 20,
            "time": 1785934591000,
            "hash": "E5954903A7C92181150204666DCF75A2F02AC3F5B450DFC2281BCE6F2339E702"
          }
        ],
        "destCount": 2,
        "destChunk": 0,
        "destUniform": false,
        "exchangeDeposits": 0,
        "exchangeCount": 0,
        "xrpScanComplete": true,
        "maxLedger": 106529404,
        "isExchange": false,
        "netXrp": 0,
        "destHoldingCount": 1,
        "destHoldingTokens": 0,
        "destSoldTokens": 0,
        "destSellerCount": 0
      }
    ],
    "edges": [
      {
        "from": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
        "to": "r9c6A65SmhhZALrkMTpqc9X3kGjv5gtNNk",
        "amount": 49963749,
        "transfers": 37
      },
      {
        "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": 1789964880923,
  "lastLedger": 92090216
}

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