VaultsБалансы: Vault / пользователь / адрес

Балансы: Vault / пользователь / адрес

Единый endpoint балансов. Баланс — агрегация ledger-счетов (available — можно тратить; reserved — заблокировано pending-переводами, но ещё принадлежит владельцу). Балансы — денормализация double-entry журнала, обновляются атомарно с проводками.

ИЗОЛЯЦИЯ: user видит баланс ТОЛЬКО по своим адресам; admin — по всему Vault'у. Фильтры: ?addressId= (свой адрес), ?token=, ?summary=true (только totals, для дашборда), ?purpose= (фильтрует список счетов; totals всегда с разбивкой available/reserved). Vault-level счета (external/adjustment) в totals не входят.

curl -X GET "https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/test_vault/balances?summary=true&addressId=123%20Main%20St&token=usdt&purpose=available&includeShared=true&limit=42&cursor=example_string" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "vaultId": "example_string",
  "totals": [
    {
      "token": {
        "code": "example_string",
        "symbol": "example_string",
        "decimals": 42
      },
      "available": "example_string",
      "availableDecimal": "example_string",
      "reserved": "example_string",
      "reservedDecimal": "example_string"
    }
  ],
  "accounts": [
    {
      "id": "example_string",
      "purpose": "available",
      "balance": "example_string",
      "balanceDecimal": "example_string",
      "token": {
        "id": "example_string",
        "code": "example_string",
        "symbol": "example_string",
        "decimals": 42
      },
      "address": {
        "id": "example_string",
        "address": "123 Main St",
        "label": "example_string"
      }
    }
  ],
  "nextCursor": "example_string"
}
GET
/api/v1/vaults/{code}/balances
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

better-auth session token. Мобилка/сервисы. Веб использует cookie.

better-auth session token. Мобилка/сервисы. Веб использует cookie.
API Key (cookie: better-auth.session_token)
path
codestring
Required

Уникальный код Vault'а (slug)

query
summarystring

true — только totals, без списка счетов

Options: true, false
query
addressIdstring

Баланс конкретного адреса (все его токены; должен быть мой)

query
tokenstring

Фильтр по коду токена

query
purposestring

Фильтр списка счетов (на totals не влияет)

Options: available, reserved, external, adjustment
query
includeSharedstring

true → включить балансы расшаренных мне адресов (view). Дефолт — свои

Options: true, false
query
limitinteger
Min: 1 • Max: 100
Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. better-auth session token. Мобилка/сервисы. Веб использует cookie.

path
parameterstring
Required

API Key for authentication. Provide your API key in the cookie.

Path Parameters

codestring
Required

Уникальный код Vault'а (slug)

Example:
test_vault

Query Parameters

summarystring

true — только totals, без списка счетов

Allowed values:truefalse
addressIdstring

Баланс конкретного адреса (все его токены; должен быть мой)

tokenstring

Фильтр по коду токена

Example:
usdt
purposestring

Фильтр списка счетов (на totals не влияет)

Allowed values:availablereservedexternaladjustment
includeSharedstring

true → включить балансы расшаренных мне адресов (view). Дефолт — свои

Allowed values:truefalse

Responses

vaultIdstring
Required
totalsarray
Required

Агрегаты по токенам (available/reserved)

accountsarray

Отсутствует при ?summary=true

nextCursorstring

Пагинация счетов; отсутствует при ?summary=true