CounterpartiesСоздать контрагента

Создать контрагента

Создаёт контрагента, опционально сразу с адресами. Имя уникально в рамках Vault'а; каждый адрес — уникален в рамках Vault'а (принадлежит максимум одному контрагенту, иначе матчинг неоднозначен). Сети адресов валидируются по реестру Networks.

Ретро-матч: существующим операциям с этими адресами (у которых counterpartyId ещё NULL) автоматически проставляется контрагент — счётчики в ответе.

curl -X POST "https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/demo_vault/counterparties" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "name": "Binance",
  "description": "example_string",
  "kind": "exchange",
  "tags": [
    "example_string"
  ],
  "avatarUri": "example_string",
  "color": "#000",
  "emoji": "🏦",
  "createdById": "example_string",
  "addresses": [
    {
      "network": "tron",
      "address": "123 Main St",
      "label": "example_string"
    }
  ],
  "groupId": "example_string",
  "newGroup": {
    "code": "example_string",
    "name": "John Doe",
    "description": "example_string",
    "avatarUri": "example_string",
    "color": "example_string",
    "emoji": "example_string"
  }
}'
{
  "counterparty": {
    "id": "cmr3f41z20001psp7phmyapw3",
    "vaultId": "example_string",
    "name": "Binance",
    "description": "example_string",
    "kind": "exchange",
    "tagsJson": [
      "example_string"
    ],
    "avatarUri": "example_string",
    "color": "#000",
    "emoji": "🏦",
    "archivedAt": "2026-07-02T11:25:15.134Z",
    "createdById": "example_string",
    "createdAt": "2026-07-02T11:25:15.134Z",
    "updatedAt": "2026-07-02T11:25:15.134Z",
    "addresses": [
      {
        "id": "example_string",
        "counterpartyId": "example_string",
        "network": "tron",
        "address": "TExternalBinanceHot1",
        "label": "hot wallet",
        "createdAt": "2026-07-02T11:25:15.134Z"
      }
    ]
  },
  "matched": {
    "transfers": 42,
    "deposits": 42
  }
}
POST
/api/v1/vaults/{code}/counterparties
POST
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)

Content-Typestring
Required

The media type of the request body

Options: application/json
namestring
Required
Min length: 1
avatarUristring

Ссылка на аватарку

Format: uri • Max length: 2048
colorstring

HEX-цвет

Pattern: ^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$
emojistring

Emoji-иконка

Min length: 1 • Max length: 16
addressesarray

Начальные адреса. Каждый адрес уникален в рамках Vault'а — конфликт с другим контрагентом даст 400

groupIdstring

Сразу добавить контрагента в СУЩЕСТВУЮЩУЮ группу — соберётся композитная цепочка (create + group_add) под одним флоу одобрения. Взаимоисключимо с newGroup

newGroupobject

Создать НОВУЮ группу и добавить в неё контрагента — цепочка create + group_create + group_add под одним флоу. Взаимоисключимо с groupId

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:
demo_vault

Body

application/json
namestring
Required
Example:
Binance
kindstring
Example:
exchange
avatarUristring

Ссылка на аватарку

colorstring

HEX-цвет

Example:
#000
emojistring

Emoji-иконка

Example:
🏦
addressesarray

Начальные адреса. Каждый адрес уникален в рамках Vault'а — конфликт с другим контрагентом даст 400

groupIdstring

Сразу добавить контрагента в СУЩЕСТВУЮЩУЮ группу — соберётся композитная цепочка (create + group_add) под одним флоу одобрения. Взаимоисключимо с newGroup

newGroupobject

Создать НОВУЮ группу и добавить в неё контрагента — цепочка create + group_create + group_add под одним флоу. Взаимоисключимо с groupId

Responses