Уникальный депозитный криптоадрес для каждого пользователя
Создавайте отдельный депозитный кошелёк для каждого клиента одним запросом к API. Депозиты в USDT, USDC, ETH, BNB и POL в сетях Ethereum, BNB Chain и Polygon обнаруживаются, зачисляются на ваш баланс в долларах и передаются на ваш сервер с вашим id пользователя.
- Один запрос к API создаёт постоянный адрес для пользователя
- USDT, USDC, ETH, BNB и POL в трёх сетях
- В каждом вебхуке о депозите — ваш id пользователя
Депозитные кошельки как сервис
Любой продукт, который хранит балансы клиентов, должен знать, кто отправил каждый платёж: биржи и трейдинговые платформы, игры и казино, маркетплейсы, кошельки, сервисы пополнения. Один общий адрес и просьба прислать memo или хеш транзакции заканчиваются потерянными и перепутанными платежами. Стандартное решение — отдельный депозитный адрес для каждого пользователя: всё, что туда пришло, принадлежит ему.
LirChain создаёт эти адреса и следит за ними за вас. Вы отправляете сеть, актив и свой id пользователя и получаете постоянный адрес. Каждый перевод на него становится депозитом, зачисляется на ваш баланс в LirChain и отправляется на ваш вебхук. Вам не нужно строить инфраструктуру кошельков, хранить ключи, управлять газом и собирать средства.
Адреса не истекают. Пользователь может платить на один и тот же адрес снова и снова, что удобно для пополнений счёта и регулярных депозитов, а показать адрес можно в своём интерфейсе или на готовой странице депозита.
Что даёт продукт «Депозитные кошельки»
Один запрос к API на адрес
Создавайте депозитный кошелёк, когда он нужен новому пользователю, счёту или заказу. Адрес приходит в том же ответе.
Ваш id пользователя в каждом депозите
Передайте свой id при создании адреса, и он будет в каждом вебхуке о депозите. Не нужно гадать, чей это перевод.
Стейблкоины и монеты сетей
Принимайте USDT и USDC один к одному к доллару. Депозиты в ETH, BNB и POL автоматически обмениваются на доллары при поступлении.
Один баланс в долларах
Депозиты из всех сетей и во всех активах складываются в один баланс. Выводите его в USDT или USDC в выбранной сети или используйте для выплат.
Готовая страница депозита
У каждого кошелька есть готовая страница с адресом, QR-кодом и последними депозитами, так что экран пополнения можно не делать.
Вебхуки о депозитах с повторами
Ваш сервер узнаёт о каждом подтверждённом депозите: сумма, комиссия и сколько вы получили. Сообщение повторяется, пока сервер не ответит.
Как это работает
От регистрации до первого запроса за несколько минут.
- 1
Создайте проект Deposit Wallets
Зарегистрируйтесь, откройте проект Deposit Wallets в кабинете и скопируйте его API-ключ.
- 2
Создайте адрес для каждого пользователя
Отправьте сеть, актив и свой id пользователя. В ответ придёт постоянный адрес, который принадлежит только этому пользователю.
- 3
Покажите адрес пользователю
Выведите его в своём приложении или отправьте пользователя на готовую страницу депозита lirchain.com/deposit/<id кошелька>.
- 4
Зачислите средства, когда придёт вебхук
Каждый подтверждённый депозит зачисляется на ваш баланс и отправляется на URL вебхука с вашим id пользователя, суммой и комиссией.
curl https://api.lirchain.com/merchant/deposit-wallet/create \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"network": "polygon",
"asset": "USDC",
"external_id": "customer-7731"
}'const API_KEY = "YOUR_API_KEY";
async function createDepositWallet(params) {
const response = await fetch("https://api.lirchain.com/merchant/deposit-wallet/create", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify(params),
});
if (!response.ok) {
throw new Error(`LirChain API ${response.status}: ${await response.text()}`);
}
return response.json();
}
const result = await createDepositWallet({
network: "polygon",
asset: "USDC",
external_id: "customer-7731",
});const API_KEY = "YOUR_API_KEY";
type CreateDepositWalletParams = {
network: string;
asset: string;
external_id?: string;
};
type CreateDepositWalletResult = {
id: string;
project_id: string;
merchant_id: string;
network: string;
address: string;
asset: string;
external_id: string | null;
};
async function createDepositWallet(params: CreateDepositWalletParams): Promise<CreateDepositWalletResult> {
const response = await fetch("https://api.lirchain.com/merchant/deposit-wallet/create", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify(params),
});
if (!response.ok) {
throw new Error(`LirChain API ${response.status}: ${await response.text()}`);
}
return response.json();
}
const result = await createDepositWallet({
network: "polygon",
asset: "USDC",
external_id: "customer-7731",
});import requests
API_KEY = "YOUR_API_KEY"
def create_deposit_wallet(**params):
response = requests.post(
"https://api.lirchain.com/merchant/deposit-wallet/create",
headers={"x-api-key": API_KEY},
json=params,
timeout=30,
)
response.raise_for_status()
return response.json()
result = create_deposit_wallet(
network="polygon",
asset="USDC",
external_id="customer-7731",
)<?php
const API_KEY = "YOUR_API_KEY";
function create_deposit_wallet(array $params): array
{
$curl = curl_init("https://api.lirchain.com/merchant/deposit-wallet/create");
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($params),
CURLOPT_HTTPHEADER => ["x-api-key: " . API_KEY, "content-type: application/json"],
]);
$body = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($body === false || $status >= 400) {
throw new Exception("LirChain API $status: $body");
}
return json_decode($body, true);
}
$result = create_deposit_wallet([
"network" => "polygon",
"asset" => "USDC",
"external_id" => "customer-7731",
]);package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
const apiKey = "YOUR_API_KEY"
func CreateDepositWallet(params map[string]any) (map[string]any, error) {
body, err := json.Marshal(params)
if err != nil {
return nil, err
}
request, err := http.NewRequest("POST", "https://api.lirchain.com/merchant/deposit-wallet/create", bytes.NewReader(body))
if err != nil {
return nil, err
}
request.Header.Set("x-api-key", apiKey)
request.Header.Set("content-type", "application/json")
response, err := http.DefaultClient.Do(request)
if err != nil {
return nil, err
}
defer response.Body.Close()
data, err := io.ReadAll(response.Body)
if err != nil {
return nil, err
}
if response.StatusCode >= 400 {
return nil, fmt.Errorf("LirChain API %d: %s", response.StatusCode, data)
}
var result map[string]any
return result, json.Unmarshal(data, &result)
}
func main() {
result, err := CreateDepositWallet(map[string]any{
"network": "polygon",
"asset": "USDC",
"external_id": "customer-7731",
})
fmt.Println(result, err)
}{
"id": "3f4911a7-2c26-4f9c-a97c-80b25b6feb8c",
"project_id": "3d6b1130-da92-4ddf-bad2-93f898993c39",
"merchant_id": "7c551c17-1a48-4e2b-b3ac-7ad389a753c6",
"network": "polygon",
"address": "0x748aaf6d861698dc3c4ee2fca3c27ba13edc7891",
"asset": "USDC",
"external_id": "customer-7731"
}{
"type": "deposit-wallet",
"deposit": {
"id": "41b0d4fe-8b49-4623-bd8f-6f04586b06c9",
"wallet_id": "3f4911a7-2c26-4f9c-a97c-80b25b6feb8c",
"external_id": "customer-7731",
"project_id": "3d6b1130-da92-4ddf-bad2-93f898993c39",
"network": "polygon",
"asset": "USDC",
"contract": "0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",
"amount": "250.5",
"pay_amount": "250.5",
"fee": "1.2525",
"receive_amount": "249.2475",
"created_ms": 1791503990112
}
}Все методы и поля описаны здесь: справочник API, раздел «Депозитные кошельки» (на английском). Пишете код с ИИ-агентом? Дайте ему lirchain.com/llms-full.txt и он сам напишет интеграцию.
Сети и активы для депозитных адресов
Депозитный кошелёк принимает один актив в одной сети. Создавайте для пользователя столько кошельков, сколько нужно: например, один для USDT в BNB Chain и один для USDC в Polygon.
| Сеть | Монеты и токены |
|---|---|
| Ethereum | USDTUSDCETH |
| BNB Chain | USDTUSDCBNB |
| Polygon | USDTUSDCPOL |
Для чего используют продукт «Депозитные кошельки»
Биржи и трейдинговые платформы
Дайте каждому трейдеру личный депозитный адрес и зачисляйте средства на его счёт автоматически после подтверждения.
Игры, казино и ставки
Пусть игроки пополняют счёт в USDT или USDC и видят обновлённый баланс без ручных проверок поддержкой.
Маркетплейсы и платформы
Разделяйте средства покупателей и продавцов, выдав каждому аккаунту свой адрес.
Кошельки и финтех-приложения
Добавьте пополнение криптовалютой в приложение, не разрабатывая генерацию адресов, мониторинг и сбор средств.
SaaS и предоплаченные балансы
Пусть клиенты пополняют предоплаченный баланс стейблкоинами в любой момент, всегда на один и тот же адрес.
Боты и сообщества
Создавайте адрес для каждого пользователя Telegram или Discord и открывайте доступ, как только придёт его депозит.
Депозитные кошельки: цены
Создание кошельков бесплатно. Депозит стоит процент вашего тарифа, но не меньше $0.10.
| Тариф | Free | Starter | Business | Enterprise |
|---|---|---|---|---|
| Цена в месяц | Бесплатно | $19.99 | $49.99 | $249.99 |
| Депозитные кошельки | 15 | 1 000 | 20 000 | 1 000 000 |
| Комиссия за депозит | 1% | 0,5% | 0,375% | 0,25% |
В каждый тариф входят все четыре продукта. Сравнить тарифы
Депозитные кошельки: вопросы и ответы
- Что такое депозитный криптоадрес на пользователя?
- Это адрес в блокчейне, созданный для одного вашего пользователя и больше ни для кого. Адрес знает только он, поэтому любой перевод на этот адрес можно зачислить ему автоматически: без memo, комментариев и ручной сверки.
- Какие монеты и сети поддерживают депозитные кошельки?
- USDT и USDC в Ethereum (ERC-20), BNB Chain (BEP-20) и Polygon, а также собственную монету каждой сети: ETH, BNB и POL.
- Как узнать, какой пользователь внёс депозит?
- Передайте свой id пользователя в поле external_id при создании кошелька. Он возвращается вместе с кошельком, с каждым его депозитом в API и в каждом вебхуке о депозите.
- Что происходит, когда пользователь вносит ETH, BNB или POL?
- Монеты обмениваются на доллары на основной бирже этой сети, обычно за несколько минут, и на ваш баланс зачисляется то, что выплатила биржа. У вас на балансе доллары, поэтому дальнейшие колебания курса монеты вас не касаются.
- Может ли пользователь пополнять один и тот же адрес несколько раз?
- Да. Депозитный кошелёк постоянный, и каждый перевод на него — новый депозит, так что он подходит для повторных пополнений.
- Сколько стоит API депозитных адресов?
- Создание адресов бесплатно. Каждый депозит стоит процент вашего тарифа (1% на Free, 0,5% на Starter, 0,375% на Business, 0,25% на Enterprise), но не меньше $0.10. В тариф Free входит 15 депозитных кошельков, в Starter — 1 000 за $19.99 в месяц.
- Как вывести деньги, которые внесли мои пользователи?
- В кабинете, в USDT или USDC в сети Ethereum, BNB Chain или Polygon, на любой адрес. Их также можно сразу отправить пользователям через API выплат.
Работает вместе с остальным LirChain
Один аккаунт, один баланс и один API для всех четырёх продуктов.
Депозитные кошельки: начните бесплатно
Новые аккаунты начинают с тарифа Free: все продукты включены, карта не нужна.