Перейти к основному содержанию
Ончейн-состояние $FLOW живёт в FlowProtocol, $FLOW, PhenomenalTree и FlowGrowToken. Эти эндпоинты агрегируют per-user чтения из этих контрактов, чтобы фронтенду не приходилось делать шесть RPC-вызовов на рендер страницы. Все write-операции (buy, sell, activate, extendTree, buyIncomeLimitWithGWT, claimGWT) идут прямо с кошелька пользователя — API не подписывает за пользователя. Эти read-эндпоинты чисто информационные.

GET /me/flow-onchain

Агрегированное ончейн-состояние для текущего авторизованного пользователя по всем сетям, где у его адреса есть активность. Auth: нужен.
curl https://api.agentflow.website/me/flow-onchain \
  -H "Cookie: af_session=..."
Ответ
{
  "address": "0x29c435832C166892C096c055316fd6992479C428",
  "chains": [
    {
      "chainId": 97,
      "chainName": "BSC Testnet",
      "flowBalance": "1240.5",
      "usdtBalance": "850.0",
      "gwtBalance": "62.5",
      "currentPrice": "0.1234",
      "dailyLimitTotal": "50.0",
      "dailyLimitRemaining": "32.5",
      "incomeLimitRemaining": "300.0",
      "lifetimeIncome": "180.0",
      "treeActiveUntil": 1714125600,
      "treeActiveDaysLeft": 22,
      "claimableGWT": "5.0",
      "tree": {
        "upline": "0xabc...",
        "directSlots": ["0xdef...", null, null],
        "subtreeSize": 7,
        "subtreeByLevel": [3, 4, 0, 0, 0, 0, 0, 0, 0, 0]
      }
    }
  ]
}
flowBalance
string
обязательно
Баланс $FLOW у caller, в десятичном формате (USDT-номинал).
dailyLimitRemaining
string
обязательно
Сколько ещё USDT этот адрес может вложить в текущем 24-часовом окне.
incomeLimitRemaining
string
обязательно
Headroom лимита дохода в USDT. Сжигается при продажах; пополняется на покупках и через redemption GWT.
treeActiveUntil
number
обязательно
Unix-timestamp (секунды), когда истекает активность в дереве. 0 — никогда не активирован.
claimableGWT
string
обязательно
Pending GWT с комиссий потомков, который ещё не заклеймен. Вызовите FlowProtocol.claimGWT(), чтобы материализовать.
tree
object
обязательно
Позиция caller в феноменальном дереве: апплайн, три прямых слота (адрес или null), счётчики потомков.

GET /me/tree

Детальный вид поддерева caller. Auth: нужен. Query params
depth
number
На сколько уровней раскрывать. Дефолт 3, max 10.
curl "https://api.agentflow.website/me/tree?depth=5" \
  -H "Cookie: af_session=..."
Ответ
{
  "address": "0x29c435832C166892C096c055316fd6992479C428",
  "upline": "0xabc...",
  "subtreeByLevel": [3, 9, 18, 22, 30, 0, 0, 0, 0, 0],
  "lifetimeEarnedByLevel": ["0.6", "1.8", "5.4", "11.0", "24.0", "0", "0", "0", "0", "0"],
  "directs": [
    {
      "address": "0xdef...",
      "active": true,
      "subtreeSize": 4
    },
    {
      "address": "0x123...",
      "active": false,
      "subtreeSize": 0
    },
    null
  ]
}
lifetimeEarnedByLevel в номинале USDT и отражает выплаты с каждого уровня с момента активации этого адреса.

GET /tokens/:slug/onchain

Агрегированное ончейн-состояние для конкретного токена. Public. Читает из чейн-индексера. Для dpnm-токенов:
{
  "template": "dpnm",
  "instance": "0x2680b933af7a874d20954b03F38C86891A786511",
  "flowProtocol": "0x7F20f8e6e5077a4E11A1A2Fe54449ab55D32f653",
  "currentPrice": "0.1234",
  "poolUsdt": "150000",
  "totalSupply": "1216000",
  "totalActivePositions": 73,
  "totalTreePositions": 89,
  "lifetimeFeesUsdt": "8420",
  "lifetimeGwtMinted": "8420"
}
Для virtuals-токенов ответ — состояние бондинг-кривой, см. Tokens API.

Errors

CodeWhen
unauthenticatedСессионная кука отсутствует или истекла
chain_unsupportedchainId не сконфигурирован
address_not_activatedCaller не вызвал activate() на запрошенной сети
Off-chain балансы кредитов исчезли. Прежний эндпоинт /me/flow-balance удалён; эта страница его заменяет. Если нужен USD-эквивалент $FLOW-холдингов кошелька, умножайте flowBalance × currentPrice.