$FLOW state lives in FlowProtocol, $FLOW, PhenomenalTree, and FlowGrowToken. These endpoints aggregate per-user reads from those contracts so a frontend doesn’t have to make six RPC calls per page render.
All write operations (buy, sell, activate, extendTree, buyIncomeLimitWithGWT, claimGWT) happen directly from the user’s wallet — the API does not sign on the user’s behalf. These read endpoints are purely informational.
GET /me/flow-onchain
Aggregate on-chain state for the current authenticated user across all chains where their address has activity. Auth: required.Caller’s
$FLOW balance, decimal-formatted (USDT denomination).How much more USDT this address can deposit in the current 24h window.
Income limit headroom in USDT. Burns down as the address sells; tops up on buys and GWT redemption.
Unix timestamp (seconds) when tree active status expires.
0 means never activated.Pending GWT from descendant fees that haven’t been claimed yet. Call
FlowProtocol.claimGWT() to materialize.Caller’s position in the phenomenal tree: upline, three direct slots (each address or
null), descendant counts.GET /me/tree
Detailed view of the caller’s subtree. Auth: required. Query paramsHow many levels deep to expand. Default
3, max 10.lifetimeEarnedByLevel is denominated in USDT and reflects payouts received from each level since this address activated.
GET /tokens/:slug/onchain
Aggregate on-chain state for a specific token. Public. Reads from the chain indexer. Fordpnm tokens:
virtuals tokens, the response is the bonding curve state — see Tokens API.
Errors
| Code | When |
|---|---|
unauthenticated | Missing or expired session cookie |
chain_unsupported | chainId not configured |
address_not_activated | Caller has not called activate() on the requested chain |
Off-chain credit balances are gone. The previous
/me/flow-balance endpoint is removed; this page replaces it. If you need a USD-equivalent estimate of a wallet’s $FLOW holdings, multiply flowBalance × currentPrice.