Перейти к содержимому

Vilna API (1.0.0)

Добро пожаловать в справочник Vilna API. Это полная спецификация OpenAPI для всех endpoints API.

Быстрые ссылки

API Endpoints

Управление активами

  • Активы - Обнаружение и управление цифровыми активами

Операции с адресами

Мониторинг и уведомления

Система

Нужна помощь?

Посетите наш портал документации для подробных руководств и примеров.

Скачать описание OpenAPI
Языки
Серверы
Mock server
https://docs.vilna.io/_mock/ru/apis/spec/
Production environment
https://{namespace}.vilna.app/{version}/

system

System and service status operations

Операции

blockchain

Operations related to supported blockchains for monitoring and balance queries

Операции

block

Operations for retrieving and filtering blockchain blocks

Операции

token

Manage blockchain tokens such as native and ERC-20 assets

Операции

public_key

Public key (BIP44/49/84) management operations for HD wallets

Операции

Запрос

Returns a list of all registered public keys

Безопасность
ApiKeyAuth
Запрос
limitinteger[ 1 .. 100 ]

Maximum number of items to return

По умолчанию 20
Пример: limit=20
pageinteger>= 1

Page number for pagination

По умолчанию 1
Пример: page=1
searchstring<= 32 characters

Search filter for public keys (partial match, case-insensitive)

Пример: search=wallet
sort_bystring

Field to sort results by. Use "-" prefix for descending order

По умолчанию "gid"
Перечисление"gid""-gid""label""-label""derivation_path""-derivation_path""created_at""-created_at""updated_at""-updated_at"
Пример: sort_by=gid
curl -i -X GET \
  'https://docs.vilna.io/_mock/ru/apis/spec/public_keys?limit=20&page=1&search=wallet&sort_by=gid' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Ответы

Successfully retrieved list of public keys with pagination information

Телоapplication/json
itemsArray of objects(PublicKey)обязательный

List of public keys

items[].​idstring(uuid)(UUID)обязательный

Unique identifier in UUID format

Пример: "550e8400-e29b-41d4-a716-446655440000"
items[].​valuestring(PublicKeyValue)^(xpub|ypub|zpub|tpub|vpub|upub)[1-9A-HJ-NP-Z...обязательный

Extended public key encoded in Base58Check format, compliant with BIP32 and SLIP-0132 specifications.

An extended public key allows deriving a hierarchy of child public keys and addresses without exposing the corresponding private keys.

Supported prefixes and address derivation types:

Mainnet

  • xpub — Legacy P2PKH (BIP44), addresses typically starting with 1
  • ypub — SegWit P2SH-P2WPKH (BIP49), addresses typically starting with 3
  • zpub — Native SegWit P2WPKH (BIP84), addresses typically starting with bc1

Testnet

  • tpub — Legacy P2PKH (BIP44)
  • upub — SegWit P2SH-P2WPKH (BIP49)
  • vpub — Native SegWit P2WPKH (BIP84)

The prefix defines both the address derivation scheme and the target network (mainnet or testnet). The actual address format depends on the selected derivation path and network parameters.

Пример: "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i"
items[].​labelstring(PublicKeyLabel)[ 1 .. 32 ] charactersобязательный

User-friendly label for the public key

Пример: "Main Wallet"
items[].​derivation_pathstring(DerivationPath)^m/(44|49|84)'/\d+'\/\d+'\/\d+$обязательный

HD wallet derivation path that identifies the address type, blockchain network, and account. Follows BIP44/49/84 standards with format: m / purpose' / coin_type' / account' / change

The purpose field indicates the address type:

  • 44' for P2PKH addresses (Legacy)
  • 49' for P2SH-P2WPKH addresses (SegWit)
  • 84' for P2WPKH addresses (Native SegWit)

Common examples:

  • m/44'/0'/0'/0 — Bitcoin Legacy external addresses
  • m/44'/0'/0'/1 — Bitcoin Legacy change addresses
  • m/49'/0'/0'/0 — Bitcoin SegWit external addresses
  • m/84'/0'/0'/0 — Bitcoin Native SegWit external addresses
  • m/44'/60'/0'/0 — Ethereum or Binance Smart Chain (BEP20) addresses
  • m/44'/137'/0'/0 — Polygon addresses
  • m/44'/714'/0'/0 — Binance Chain (BEP2) addresses

The coin_type value follows SLIP-0044 registered coin types (e.g., 0 for Bitcoin, 60 for Ethereum, 137 for Polygon, 714 for Binance Chain).

Пример: "m/84'/0'/0'/0"
items[].​created_atstring(date-time)(CreatedAt)обязательный

Timestamp when the resource was created

Пример: "2024-01-15T10:30:00Z"
items[].​updated_atstring(date-time)(UpdatedAt)обязательный

Timestamp when the resource was last updated

Пример: "2024-01-15T10:30:00Z"
metaobject(PaginationMeta)обязательный
meta.​limitinteger(uint)>= 1обязательный

Number of items per page

Пример: 20
meta.​pageinteger(uint)>= 1обязательный

Current page number

Пример: 1
meta.​totalinteger(uint)>= 0обязательный

Total number of items available

Пример: 42
meta.​total_pagesinteger(uint)>= 0обязательный

Total number of pages available

Пример: 3
Ответ
application/json
{ "items": [ {}, {}, {}, {}, {} ], "meta": { "limit": 20, "page": 1, "total": 5, "total_pages": 1 } }

Запрос

Add a new public key for generating HD wallet addresses. The key must include its derivation path following BIP44/49/84 standards to identify the address type and blockchain network. Currently, only Bitcoin-based extended public keys (xpub, ypub, zpub) are supported.

Безопасность
ApiKeyAuth
Телоapplication/jsonобязательный

Request body for adding a new extended public key (HD wallet)

derivation_pathstring(DerivationPath)^m/(44|49|84)'/\d+'\/\d+'\/\d+$обязательный

HD wallet derivation path that identifies the address type, blockchain network, and account. Follows BIP44/49/84 standards with format: m / purpose' / coin_type' / account' / change

The purpose field indicates the address type:

  • 44' for P2PKH addresses (Legacy)
  • 49' for P2SH-P2WPKH addresses (SegWit)
  • 84' for P2WPKH addresses (Native SegWit)

Common examples:

  • m/44'/0'/0'/0 — Bitcoin Legacy external addresses
  • m/44'/0'/0'/1 — Bitcoin Legacy change addresses
  • m/49'/0'/0'/0 — Bitcoin SegWit external addresses
  • m/84'/0'/0'/0 — Bitcoin Native SegWit external addresses
  • m/44'/60'/0'/0 — Ethereum or Binance Smart Chain (BEP20) addresses
  • m/44'/137'/0'/0 — Polygon addresses
  • m/44'/714'/0'/0 — Binance Chain (BEP2) addresses

The coin_type value follows SLIP-0044 registered coin types (e.g., 0 for Bitcoin, 60 for Ethereum, 137 for Polygon, 714 for Binance Chain).

Пример: "m/84'/0'/0'/0"
labelstring(PublicKeyLabel)[ 1 .. 32 ] charactersобязательный

User-friendly label for the public key

Пример: "Main Wallet"
valuestring(PublicKeyValue)^(xpub|ypub|zpub|tpub|vpub|upub)[1-9A-HJ-NP-Z...обязательный

Extended public key encoded in Base58Check format, compliant with BIP32 and SLIP-0132 specifications.

An extended public key allows deriving a hierarchy of child public keys and addresses without exposing the corresponding private keys.

Supported prefixes and address derivation types:

Mainnet

  • xpub — Legacy P2PKH (BIP44), addresses typically starting with 1
  • ypub — SegWit P2SH-P2WPKH (BIP49), addresses typically starting with 3
  • zpub — Native SegWit P2WPKH (BIP84), addresses typically starting with bc1

Testnet

  • tpub — Legacy P2PKH (BIP44)
  • upub — SegWit P2SH-P2WPKH (BIP49)
  • vpub — Native SegWit P2WPKH (BIP84)

The prefix defines both the address derivation scheme and the target network (mainnet or testnet). The actual address format depends on the selected derivation path and network parameters.

Пример: "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i"
curl -i -X POST \
  https://docs.vilna.io/_mock/ru/apis/spec/public_keys \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE' \
  -d '{
    "derivation_path": "m/44'\''/0'\''/0'\''/0",
    "label": "My Legacy Wallet",
    "value": "xpub6F7C1ZtQ411zykk6KTEoQMqfNdxiSA4uxAwAoqFanijnAavqQvVmh5zZCH6Swhdbzt2HuMRLx4chEVRZu9ic4Cnkkq5AsQcmjeMASk6FLqf"
  }'

Ответы

Public key successfully created

Телоapplication/json
idstring(uuid)(UUID)обязательный

Unique identifier in UUID format

Пример: "550e8400-e29b-41d4-a716-446655440000"
valuestring(PublicKeyValue)^(xpub|ypub|zpub|tpub|vpub|upub)[1-9A-HJ-NP-Z...обязательный

Extended public key encoded in Base58Check format, compliant with BIP32 and SLIP-0132 specifications.

An extended public key allows deriving a hierarchy of child public keys and addresses without exposing the corresponding private keys.

Supported prefixes and address derivation types:

Mainnet

  • xpub — Legacy P2PKH (BIP44), addresses typically starting with 1
  • ypub — SegWit P2SH-P2WPKH (BIP49), addresses typically starting with 3
  • zpub — Native SegWit P2WPKH (BIP84), addresses typically starting with bc1

Testnet

  • tpub — Legacy P2PKH (BIP44)
  • upub — SegWit P2SH-P2WPKH (BIP49)
  • vpub — Native SegWit P2WPKH (BIP84)

The prefix defines both the address derivation scheme and the target network (mainnet or testnet). The actual address format depends on the selected derivation path and network parameters.

Пример: "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i"
labelstring(PublicKeyLabel)[ 1 .. 32 ] charactersобязательный

User-friendly label for the public key

Пример: "Main Wallet"
derivation_pathstring(DerivationPath)^m/(44|49|84)'/\d+'\/\d+'\/\d+$обязательный

HD wallet derivation path that identifies the address type, blockchain network, and account. Follows BIP44/49/84 standards with format: m / purpose' / coin_type' / account' / change

The purpose field indicates the address type:

  • 44' for P2PKH addresses (Legacy)
  • 49' for P2SH-P2WPKH addresses (SegWit)
  • 84' for P2WPKH addresses (Native SegWit)

Common examples:

  • m/44'/0'/0'/0 — Bitcoin Legacy external addresses
  • m/44'/0'/0'/1 — Bitcoin Legacy change addresses
  • m/49'/0'/0'/0 — Bitcoin SegWit external addresses
  • m/84'/0'/0'/0 — Bitcoin Native SegWit external addresses
  • m/44'/60'/0'/0 — Ethereum or Binance Smart Chain (BEP20) addresses
  • m/44'/137'/0'/0 — Polygon addresses
  • m/44'/714'/0'/0 — Binance Chain (BEP2) addresses

The coin_type value follows SLIP-0044 registered coin types (e.g., 0 for Bitcoin, 60 for Ethereum, 137 for Polygon, 714 for Binance Chain).

Пример: "m/84'/0'/0'/0"
created_atstring(date-time)(CreatedAt)обязательный

Timestamp when the resource was created

Пример: "2024-01-15T10:30:00Z"
updated_atstring(date-time)(UpdatedAt)обязательный

Timestamp when the resource was last updated

Пример: "2024-01-15T10:30:00Z"
Ответ
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "value": "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i", "label": "Main Bitcoin Wallet", "derivation_path": "m/44'/0'/0'/0", "created_at": "2025-01-15T12:00:00Z", "updated_at": "2025-01-15T12:00:00Z" }

Запрос

Delete a public key by its unique identifier

Безопасность
ApiKeyAuth
Путь
public_key_idstring(uuid)(UUID)обязательный

Unique identifier (UUID) of the public key.

Пример: 550e8400-e29b-41d4-a716-446655440000
curl -i -X DELETE \
  https://docs.vilna.io/_mock/ru/apis/spec/public_keys/550e8400-e29b-41d4-a716-446655440000 \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Ответы

The request was successful but there is no content to return

Ответ
Нет содержимого

Запрос

Returns detailed information about a specific public key

Безопасность
ApiKeyAuth
Путь
public_key_idstring(uuid)(UUID)обязательный

Unique identifier (UUID) of the public key.

Пример: 550e8400-e29b-41d4-a716-446655440000
curl -i -X GET \
  https://docs.vilna.io/_mock/ru/apis/spec/public_keys/550e8400-e29b-41d4-a716-446655440000 \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Ответы

Successfully retrieved public key information

Телоapplication/json
idstring(uuid)(UUID)обязательный

Unique identifier in UUID format

Пример: "550e8400-e29b-41d4-a716-446655440000"
valuestring(PublicKeyValue)^(xpub|ypub|zpub|tpub|vpub|upub)[1-9A-HJ-NP-Z...обязательный

Extended public key encoded in Base58Check format, compliant with BIP32 and SLIP-0132 specifications.

An extended public key allows deriving a hierarchy of child public keys and addresses without exposing the corresponding private keys.

Supported prefixes and address derivation types:

Mainnet

  • xpub — Legacy P2PKH (BIP44), addresses typically starting with 1
  • ypub — SegWit P2SH-P2WPKH (BIP49), addresses typically starting with 3
  • zpub — Native SegWit P2WPKH (BIP84), addresses typically starting with bc1

Testnet

  • tpub — Legacy P2PKH (BIP44)
  • upub — SegWit P2SH-P2WPKH (BIP49)
  • vpub — Native SegWit P2WPKH (BIP84)

The prefix defines both the address derivation scheme and the target network (mainnet or testnet). The actual address format depends on the selected derivation path and network parameters.

Пример: "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i"
labelstring(PublicKeyLabel)[ 1 .. 32 ] charactersобязательный

User-friendly label for the public key

Пример: "Main Wallet"
derivation_pathstring(DerivationPath)^m/(44|49|84)'/\d+'\/\d+'\/\d+$обязательный

HD wallet derivation path that identifies the address type, blockchain network, and account. Follows BIP44/49/84 standards with format: m / purpose' / coin_type' / account' / change

The purpose field indicates the address type:

  • 44' for P2PKH addresses (Legacy)
  • 49' for P2SH-P2WPKH addresses (SegWit)
  • 84' for P2WPKH addresses (Native SegWit)

Common examples:

  • m/44'/0'/0'/0 — Bitcoin Legacy external addresses
  • m/44'/0'/0'/1 — Bitcoin Legacy change addresses
  • m/49'/0'/0'/0 — Bitcoin SegWit external addresses
  • m/84'/0'/0'/0 — Bitcoin Native SegWit external addresses
  • m/44'/60'/0'/0 — Ethereum or Binance Smart Chain (BEP20) addresses
  • m/44'/137'/0'/0 — Polygon addresses
  • m/44'/714'/0'/0 — Binance Chain (BEP2) addresses

The coin_type value follows SLIP-0044 registered coin types (e.g., 0 for Bitcoin, 60 for Ethereum, 137 for Polygon, 714 for Binance Chain).

Пример: "m/84'/0'/0'/0"
created_atstring(date-time)(CreatedAt)обязательный

Timestamp when the resource was created

Пример: "2024-01-15T10:30:00Z"
updated_atstring(date-time)(UpdatedAt)обязательный

Timestamp when the resource was last updated

Пример: "2024-01-15T10:30:00Z"
Ответ
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "value": "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i", "label": "Main Bitcoin Wallet", "derivation_path": "m/44'/0'/0'/0", "created_at": "2025-01-15T12:00:00Z", "updated_at": "2025-01-15T12:00:00Z" }

Запрос

Update the label of an existing public key

Безопасность
ApiKeyAuth
Путь
public_key_idstring(uuid)(UUID)обязательный

Unique identifier (UUID) of the public key.

Пример: 550e8400-e29b-41d4-a716-446655440000
Телоapplication/jsonобязательный

Request body for updating an existing public key. The label and archived status can be modified.

labelstring(PublicKeyLabel)[ 1 .. 32 ] charactersобязательный

User-friendly label for the public key

Пример: "Main Wallet"
is_archivedboolean

If true, marks the public key as archived

Пример: false
curl -i -X PATCH \
  https://docs.vilna.io/_mock/ru/apis/spec/public_keys/550e8400-e29b-41d4-a716-446655440000 \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE' \
  -d '{
    "label": "Main Wallet",
    "is_archived": false
  }'

Ответы

Public key successfully updated

Телоapplication/json
idstring(uuid)(UUID)обязательный

Unique identifier in UUID format

Пример: "550e8400-e29b-41d4-a716-446655440000"
valuestring(PublicKeyValue)^(xpub|ypub|zpub|tpub|vpub|upub)[1-9A-HJ-NP-Z...обязательный

Extended public key encoded in Base58Check format, compliant with BIP32 and SLIP-0132 specifications.

An extended public key allows deriving a hierarchy of child public keys and addresses without exposing the corresponding private keys.

Supported prefixes and address derivation types:

Mainnet

  • xpub — Legacy P2PKH (BIP44), addresses typically starting with 1
  • ypub — SegWit P2SH-P2WPKH (BIP49), addresses typically starting with 3
  • zpub — Native SegWit P2WPKH (BIP84), addresses typically starting with bc1

Testnet

  • tpub — Legacy P2PKH (BIP44)
  • upub — SegWit P2SH-P2WPKH (BIP49)
  • vpub — Native SegWit P2WPKH (BIP84)

The prefix defines both the address derivation scheme and the target network (mainnet or testnet). The actual address format depends on the selected derivation path and network parameters.

Пример: "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i"
labelstring(PublicKeyLabel)[ 1 .. 32 ] charactersобязательный

User-friendly label for the public key

Пример: "Main Wallet"
derivation_pathstring(DerivationPath)^m/(44|49|84)'/\d+'\/\d+'\/\d+$обязательный

HD wallet derivation path that identifies the address type, blockchain network, and account. Follows BIP44/49/84 standards with format: m / purpose' / coin_type' / account' / change

The purpose field indicates the address type:

  • 44' for P2PKH addresses (Legacy)
  • 49' for P2SH-P2WPKH addresses (SegWit)
  • 84' for P2WPKH addresses (Native SegWit)

Common examples:

  • m/44'/0'/0'/0 — Bitcoin Legacy external addresses
  • m/44'/0'/0'/1 — Bitcoin Legacy change addresses
  • m/49'/0'/0'/0 — Bitcoin SegWit external addresses
  • m/84'/0'/0'/0 — Bitcoin Native SegWit external addresses
  • m/44'/60'/0'/0 — Ethereum or Binance Smart Chain (BEP20) addresses
  • m/44'/137'/0'/0 — Polygon addresses
  • m/44'/714'/0'/0 — Binance Chain (BEP2) addresses

The coin_type value follows SLIP-0044 registered coin types (e.g., 0 for Bitcoin, 60 for Ethereum, 137 for Polygon, 714 for Binance Chain).

Пример: "m/84'/0'/0'/0"
created_atstring(date-time)(CreatedAt)обязательный

Timestamp when the resource was created

Пример: "2024-01-15T10:30:00Z"
updated_atstring(date-time)(UpdatedAt)обязательный

Timestamp when the resource was last updated

Пример: "2024-01-15T10:30:00Z"
Ответ
application/json
{ "id": "550e8400-e29b-41d4-a716-446655440000", "value": "xpub6EFxzN6ZgMCZ1PxeRigmAhm2UBGzXtZNgznCEaWuEt9efBpJwAXFA4ZckBdR1pdMQ1pBgsey7ebjToZ5gYXveftB3zwoQ8NvEkimvyaz34i", "label": "Updated Bitcoin Wallet Label", "derivation_path": "m/44'/0'/0'/0", "created_at": "2025-01-15T12:00:00Z", "updated_at": "2025-01-15T14:30:00Z" }

Get addresses derived from public key

Запрос

Returns a list of all addresses derived from this public key. These are HD addresses generated using the public key's derivation path and various indexes. The addresses are sorted by index by default.

Безопасность
ApiKeyAuth
Путь
public_key_idstring(uuid)(UUID)обязательный

Unique identifier (UUID) of the public key.

Пример: 550e8400-e29b-41d4-a716-446655440000
Запрос
limitinteger[ 1 .. 100 ]

Maximum number of items to return

По умолчанию 20
Пример: limit=20
pageinteger>= 1

Page number for pagination

По умолчанию 1
Пример: page=1
sort_bystring

Field to sort results by. Use "-" prefix for descending order

По умолчанию "-created_at"
Перечисление"label""-label""address""-address""created_at""-created_at""updated_at""-updated_at"
Пример: sort_by=-created_at
formatsArray of strings(AddressFormat)

Comma-separated list of address formats to include.

Элементы Перечисление"evm""solana""tron""p2pkh""p2sh""p2wpkh""p2wsh""p2pkh-testnet""p2sh-testnet""p2wpkh-testnet"
Пример: formats=p2wpkh&formats=evm
searchstring<= 100 characters

Performs a partial, case-insensitive match on address or label fields.

Пример: search=bc1q
is_archivedboolean

When true, returns only archived addresses. When false, returns only active ones.

Пример: is_archived=false
curl -i -X GET \
  'https://docs.vilna.io/_mock/ru/apis/spec/public_keys/550e8400-e29b-41d4-a716-446655440000/addresses?limit=20&page=1&sort_by=-created_at&formats=p2wpkh%2Cevm&search=bc1q&is_archived=false' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE'

Ответы

Successfully retrieved list of HD addresses derived from the public key

Телоapplication/json
itemsArray of objects(HDAddress)обязательный

List of HD addresses derived from the public key

items[].​valuestring(AddressValue)[ 1 .. 128 ] characters^[a-zA-Z0-9]+$обязательный

A blockchain address in its native format. This is a generic schema for any blockchain address, including addresses, smart contract addresses, and token contract addresses.

The actual format depends on the blockchain network:

  • EVM chains (Ethereum, BSC, Polygon, etc.): 0x followed by 40 hexadecimal characters

    • Example: 0x8521E8b15eCEF4D4269Fded3E6694225E096959E
  • Bitcoin: Various formats depending on address type

    • P2PKH (Legacy): Starts with 1, Example: 1GxHzNEymq1MLhxpdWAMJLN1UusYJ2Sy45
    • P2SH (Wrapped SegWit): Starts with 3, Example: 3Do92Dmff87UuY9Yiu2iFG2Kj9bpRaeJSF
    • P2WPKH (Native SegWit): Starts with bc1, Example: bc1q8faxe8g4u2v67qfwf9d8xhyl5tkkkphvet6r08
  • Solana: Base58 encoded, 32-44 characters

    • Example: 5EYCAe5ijiHbZBU14TyKHADUrkaAfc4ZyTXKRVKp49F8
  • Tron: Base58 encoded addresses starting with T

    • Example: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
  • Cosmos ecosystem: Bech32 format with chain-specific prefix

    • Example: cosmos1vx8knpllrj7n963p9ttd80w47kpacrhuts497x

This schema is intentionally generic to support addresses from any blockchain. The specific validation rules depend on the blockchain network and address type.

Пример: "0x8521E8b15eCEF4D4269Fded3E6694225E096959E"
items[].​formatstring(AddressFormat)обязательный

Blockchain address format that determines how the address should be interpreted and validated:

EVM-compatible blockchains:

  • evm: Ethereum Virtual Machine compatible address (Ethereum, BSC, Polygon, Arbitrum, etc.)
    • Format: 0x followed by 40 hexadecimal characters
    • Example: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e

Solana:

  • solana: Solana address
    • Format: Base58 encoded, 32-44 characters
    • Example: 5EYCAe5ijiHbZBU14TyKHADUrkaAfc4ZyTXKRVKp49F8

Tron:

  • tron: Tron address
    • Format: Base58 encoded, starts with T
    • Example: TLyqzVGLV1srkB7dToTAEqgDSfPtXRJZYH

Bitcoin mainnet formats:

  • p2pkh: Pay-to-Public-Key-Hash (Legacy)

    • Format: Starts with 1
    • Example: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
  • p2sh: Pay-to-Script-Hash

    • Format: Starts with 3
    • Example: 3Do92Dmff87UuY9Yiu2iFG2Kj9bpRaeJSF
  • p2wpkh: Pay-to-Witness-Public-Key-Hash (Native SegWit)

    • Format: Starts with bc1q
    • Example: bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
  • p2wsh: Pay-to-Witness-Script-Hash (Native SegWit)

    • Format: Starts with bc1q
    • Example: bc1qrp33g0q4c70atj6hy6wuahcwxryadxw3kvjahxxxgf7rflwdlcjqqtf3a0

Bitcoin testnet formats:

  • p2pkh-testnet: Pay-to-Public-Key-Hash (Legacy testnet)

    • Format: Starts with m or n
    • Example: mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn
  • p2sh-testnet: Pay-to-Script-Hash (testnet)

    • Format: Starts with 2
    • Example: 2MzQwSSnBHWHqSAqtTVQ6v47XtaisrJa1Vc
  • p2wpkh-testnet: Pay-to-Witness-Public-Key-Hash (Native SegWit testnet)

    • Format: Starts with tb1q
    • Example: tb1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
  • p2wsh-testnet: Pay-to-Witness-Script-Hash (Native SegWit testnet)

    • Format: Starts with tb1q
    • Example: tb1qrp33g0q4c70atj6hy6wuahcwxryadxw3kvjahxxxgf7rflwdlcjqqtf3a0
Перечисление"evm""solana""tron""p2pkh""p2sh""p2wpkh""p2wsh""p2pkh-testnet""p2sh-testnet""p2wpkh-testnet"
Пример: "p2wpkh"
items[].​labelstring or null(AddressLabel)<= 32 characters

User-friendly label for the address

Пример: "user_45_deposit"
items[].​kindstring(AddressKind)обязательный

Kind of address in the system:

  • hd: HD (Hierarchical Deterministic) address derived from an extended public key
  • external: External address imported directly without derivation
Перечисление"hd""external"
Пример: "hd"
items[].​metaobject(AddressMeta)

Optional metadata as key-value pairs for storing additional information about the address. Total size of all keys and values combined must not exceed 1000 characters.

Common use cases:

  • Tracking user associations (user_id, account_id)
  • Recording source information (exchange, wallet, service)
  • Business logic flags (archived, locked, category)
  • Custom application data
Пример: {"user_id":"12345","source":"exchange","category":"trading"}
items[].​created_atstring(date-time)(CreatedAt)обязательный

Timestamp when the resource was created

Пример: "2024-01-15T10:30:00Z"
items[].​updated_atstring(date-time)(UpdatedAt)обязательный

Timestamp when the resource was last updated

Пример: "2024-01-15T10:30:00Z"
items[].​public_key_idstring(uuid)(UUID)обязательный

Unique identifier in UUID format

Пример: "550e8400-e29b-41d4-a716-446655440000"
items[].​derivation_indexinteger>= 0обязательный

Address index in the HD wallet derivation sequence

Пример: 45
metaobject(PaginationMeta)обязательный
meta.​limitinteger(uint)>= 1обязательный

Number of items per page

Пример: 20
meta.​pageinteger(uint)>= 1обязательный

Current page number

Пример: 1
meta.​totalinteger(uint)>= 0обязательный

Total number of items available

Пример: 42
meta.​total_pagesinteger(uint)>= 0обязательный

Total number of pages available

Пример: 3
Ответ
application/json
{ "items": [ {}, {}, {} ], "meta": { "limit": 20, "page": 1, "total": 3, "total_pages": 1 } }

Запрос

Generates multiple HD addresses from the public key using either specific indexes or a range. The address format is automatically determined based on the public key's derivation path.

You can specify either:

  • A list of specific indexes to generate addresses for
  • A range (from/to) to generate consecutive addresses

If neither is specified, generates a single address at the next available index.

Безопасность
ApiKeyAuth
Путь
public_key_idstring(uuid)(UUID)обязательный

Unique identifier (UUID) of the public key.

Пример: 550e8400-e29b-41d4-a716-446655440000
Телоapplication/jsonобязательный

Request to generate HD addresses from the public key. Specify a start index, count, and chain namespace to generate addresses for.

rangeobjectобязательный

Range definition for HD address generation

range.​startIndexinteger>= 0обязательный

Starting index (inclusive)

Пример: 100
range.​countinteger[ 1 .. 10000 ]обязательный

Number of addresses to generate

Пример: 50
chainFamilystring(ChainFamilyForGeneration)обязательный

Chain family that identifies blockchain ecosystems united by common protocol or account model for address generation.

Available families for generation:

  • evm: Ethereum Virtual Machine-based blockchains
  • bitcoin: Bitcoin and Bitcoin-compatible networks
  • tron: Tron blockchain ecosystem

Note: Solana is not supported for HD address generation from public keys.

The chain family is used to determine which blockchain ecosystem the address belongs to and how it should be generated or validated.

Перечисление"evm""bitcoin""tron"
Пример: "evm"
curl -i -X POST \
  https://docs.vilna.io/_mock/ru/apis/spec/public_keys/550e8400-e29b-41d4-a716-446655440000/addresses \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE' \
  -d '{
    "range": {
      "startIndex": 100,
      "count": 50
    },
    "chainFamily": "evm"
  }'

Ответы

Addresses generated successfully

Телоapplication/json
itemsArray of stringsобязательный

Array of generated address values

Пример: ["0x8521E8b15eCEF4D4269Fded3E6694225E096959E"]
countinteger>= 0обязательный

Number of addresses generated

Пример: 3
Ответ
application/json
{ "items": [ "bc1q39vtx8qt39ztrx0j9rm6f5lz56qze0c68qafhu", "bc1qnc8aj03r2letsdzfmhmr99v5sw6mys7jgz7huh", "bc1qjq73wzhhzt40250678hwpzgrrucutkx77ze37d" ], "count": 3 }

Generate next address from public key

Запрос

Generates the next HD address from the public key by automatically determining the next available index.

The system finds the highest existing index and generates the next sequential address. This is ideal for payment processing systems that need unique addresses for each transaction without manual index tracking.

Безопасность
ApiKeyAuth
Путь
public_key_idstring(uuid)(UUID)обязательный

Unique identifier (UUID) of the public key.

Пример: 550e8400-e29b-41d4-a716-446655440000
Телоapplication/jsonобязательный

Request to generate the next HD address from the public key. The system will automatically determine the next available index.

chainFamilystring(ChainFamilyForGeneration)обязательный

Chain family that identifies blockchain ecosystems united by common protocol or account model for address generation.

Available families for generation:

  • evm: Ethereum Virtual Machine-based blockchains
  • bitcoin: Bitcoin and Bitcoin-compatible networks
  • tron: Tron blockchain ecosystem

Note: Solana is not supported for HD address generation from public keys.

The chain family is used to determine which blockchain ecosystem the address belongs to and how it should be generated or validated.

Перечисление"evm""bitcoin""tron"
Пример: "evm"
labelstring or null(AddressLabel)<= 32 characters

User-friendly label for the address

Пример: "user_45_deposit"
metaobject(AddressMeta)

Optional metadata as key-value pairs for storing additional information about the address. Total size of all keys and values combined must not exceed 1000 characters.

Common use cases:

  • Tracking user associations (user_id, account_id)
  • Recording source information (exchange, wallet, service)
  • Business logic flags (archived, locked, category)
  • Custom application data
Пример: {"user_id":"12345","source":"exchange","category":"trading"}
curl -i -X POST \
  https://docs.vilna.io/_mock/ru/apis/spec/public_keys/550e8400-e29b-41d4-a716-446655440000/addresses/next \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY_HERE' \
  -d '{
    "chainFamily": "evm",
    "meta": {
      "user_id": "100",
      "type": "deposit"
    }
  }'

Ответы

HD address successfully created

Телоapplication/json
valuestring(AddressValue)[ 1 .. 128 ] characters^[a-zA-Z0-9]+$обязательный

A blockchain address in its native format. This is a generic schema for any blockchain address, including addresses, smart contract addresses, and token contract addresses.

The actual format depends on the blockchain network:

  • EVM chains (Ethereum, BSC, Polygon, etc.): 0x followed by 40 hexadecimal characters

    • Example: 0x8521E8b15eCEF4D4269Fded3E6694225E096959E
  • Bitcoin: Various formats depending on address type

    • P2PKH (Legacy): Starts with 1, Example: 1GxHzNEymq1MLhxpdWAMJLN1UusYJ2Sy45
    • P2SH (Wrapped SegWit): Starts with 3, Example: 3Do92Dmff87UuY9Yiu2iFG2Kj9bpRaeJSF
    • P2WPKH (Native SegWit): Starts with bc1, Example: bc1q8faxe8g4u2v67qfwf9d8xhyl5tkkkphvet6r08
  • Solana: Base58 encoded, 32-44 characters

    • Example: 5EYCAe5ijiHbZBU14TyKHADUrkaAfc4ZyTXKRVKp49F8
  • Tron: Base58 encoded addresses starting with T

    • Example: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
  • Cosmos ecosystem: Bech32 format with chain-specific prefix

    • Example: cosmos1vx8knpllrj7n963p9ttd80w47kpacrhuts497x

This schema is intentionally generic to support addresses from any blockchain. The specific validation rules depend on the blockchain network and address type.

Пример: "0x8521E8b15eCEF4D4269Fded3E6694225E096959E"
formatstring(AddressFormat)обязательный

Blockchain address format that determines how the address should be interpreted and validated:

EVM-compatible blockchains:

  • evm: Ethereum Virtual Machine compatible address (Ethereum, BSC, Polygon, Arbitrum, etc.)
    • Format: 0x followed by 40 hexadecimal characters
    • Example: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e

Solana:

  • solana: Solana address
    • Format: Base58 encoded, 32-44 characters
    • Example: 5EYCAe5ijiHbZBU14TyKHADUrkaAfc4ZyTXKRVKp49F8

Tron:

  • tron: Tron address
    • Format: Base58 encoded, starts with T
    • Example: TLyqzVGLV1srkB7dToTAEqgDSfPtXRJZYH

Bitcoin mainnet formats:

  • p2pkh: Pay-to-Public-Key-Hash (Legacy)

    • Format: Starts with 1
    • Example: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
  • p2sh: Pay-to-Script-Hash

    • Format: Starts with 3
    • Example: 3Do92Dmff87UuY9Yiu2iFG2Kj9bpRaeJSF
  • p2wpkh: Pay-to-Witness-Public-Key-Hash (Native SegWit)

    • Format: Starts with bc1q
    • Example: bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
  • p2wsh: Pay-to-Witness-Script-Hash (Native SegWit)

    • Format: Starts with bc1q
    • Example: bc1qrp33g0q4c70atj6hy6wuahcwxryadxw3kvjahxxxgf7rflwdlcjqqtf3a0

Bitcoin testnet formats:

  • p2pkh-testnet: Pay-to-Public-Key-Hash (Legacy testnet)

    • Format: Starts with m or n
    • Example: mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn
  • p2sh-testnet: Pay-to-Script-Hash (testnet)

    • Format: Starts with 2
    • Example: 2MzQwSSnBHWHqSAqtTVQ6v47XtaisrJa1Vc
  • p2wpkh-testnet: Pay-to-Witness-Public-Key-Hash (Native SegWit testnet)

    • Format: Starts with tb1q
    • Example: tb1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh
  • p2wsh-testnet: Pay-to-Witness-Script-Hash (Native SegWit testnet)

    • Format: Starts with tb1q
    • Example: tb1qrp33g0q4c70atj6hy6wuahcwxryadxw3kvjahxxxgf7rflwdlcjqqtf3a0
Перечисление"evm""solana""tron""p2pkh""p2sh""p2wpkh""p2wsh""p2pkh-testnet""p2sh-testnet""p2wpkh-testnet"
Пример: "p2wpkh"
labelstring or null(AddressLabel)<= 32 characters

User-friendly label for the address

Пример: "user_45_deposit"
kindstring(AddressKind)обязательный

Kind of address in the system:

  • hd: HD (Hierarchical Deterministic) address derived from an extended public key
  • external: External address imported directly without derivation
Перечисление"hd""external"
Пример: "hd"
metaobject(AddressMeta)

Optional metadata as key-value pairs for storing additional information about the address. Total size of all keys and values combined must not exceed 1000 characters.

Common use cases:

  • Tracking user associations (user_id, account_id)
  • Recording source information (exchange, wallet, service)
  • Business logic flags (archived, locked, category)
  • Custom application data
Пример: {"user_id":"12345","source":"exchange","category":"trading"}
created_atstring(date-time)(CreatedAt)обязательный

Timestamp when the resource was created

Пример: "2024-01-15T10:30:00Z"
updated_atstring(date-time)(UpdatedAt)обязательный

Timestamp when the resource was last updated

Пример: "2024-01-15T10:30:00Z"
public_key_idstring(uuid)(UUID)обязательный

Unique identifier in UUID format

Пример: "550e8400-e29b-41d4-a716-446655440000"
derivation_indexinteger>= 0обязательный

Address index in the HD wallet derivation sequence

Пример: 45
Ответ
application/json
{ "value": "bc1q8faxe8g4u2v67qfwf9d8xhyl5tkkkphvet6r08", "format": "p2wpkh", "kind": "hd", "label": "Customer Payment #12345", "meta": { "customer_id": "cust_12345", "order_id": "ord_67890" }, "public_key_id": "7ca7b850-9dad-11d1-80b4-00c04fd430c8", "derivation_index": 47, "created_at": "2025-07-05T17:00:00Z", "updated_at": "2025-07-05T17:00:00Z" }

address

Address management operations for tracking blockchain addresses

Операции

notification_channel

Notification delivery channel management for alerts and event notifications

Операции

transaction

Blockchain transaction tracking and monitoring operations

Операции

simulate

Transaction simulation operations for various blockchain networks

asset

Asset management operations for blockchain assets

Операции