Skip to content
Last updated

User Wallets

Создавайте индивидуальные USDT-кошельки для пользователей вашей платформы.

Сценарий использования

Идеально для обменников и бирж:

  • Каждый пользователь получает уникальный адрес
  • Депозиты автоматически отслеживаются по externalId
  • AML-проверки выполняются автоматически
  • Средства пересылаются на общий кошелёк компании

Создание кошелька

curl -X POST 'https://b2b.lumowallet.io/user-wallets' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "externalId": "user-12345"
  }'

Ответ:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "companyId": "660e8400-e29b-41d4-a716-446655440001",
  "externalId": "user-12345",
  "address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
  "isBlocked": false,
  "blockReason": null,
  "lastUsdtBalance": 0,
  "lastTrxBalance": 0,
  "createdAt": "2026-03-10T12:00:00Z"
}

Идемпотентность

Повторный запрос с тем же externalId вернёт существующий кошелёк:

# Первый вызов — создаёт кошелёк
# Повторный вызов — возвращает тот же кошелёк

Получение депозитов

Пользователь отправляет USDT TRC-20 на адрес address. Вы получаете webhook:

{
  "event": "deposit.completed",
  "depositId": "770e8400-e29b-41d4-a716-446655440002",
  "externalId": "user-12345",
  "txHash": "abc123...",
  "walletAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
  "amount": 50.00,
  "status": "completed",
  "createdAt": "2026-03-10T12:05:00Z"
}

Список кошельков

curl -X GET 'https://b2b.lumowallet.io/user-wallets?limit=50' \
  -H 'X-API-Key: YOUR_API_KEY'

Фильтрация по externalId:

curl -X GET 'https://b2b.lumowallet.io/user-wallets?externalId=user-12345' \
  -H 'X-API-Key: YOUR_API_KEY'

История депозитов пользователей

curl -X GET 'https://b2b.lumowallet.io/user-wallets/deposits?externalId=user-12345' \
  -H 'X-API-Key: YOUR_API_KEY'

Ответ:

{
  "deposits": [
    {
      "id": "770e8400-e29b-41d4-a716-446655440002",
      "companyId": "660e8400-e29b-41d4-a716-446655440001",
      "walletId": "550e8400-e29b-41d4-a716-446655440000",
      "externalId": "user-12345",
      "walletAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
      "txHash": "abc123...",
      "amount": 50.00,
      "status": "completed",
      "createdAt": "2026-03-10T12:05:00Z"
    }
  ],
  "total": 1
}

Блокировка кошелька

При подозрительной активности заблокируйте кошелёк:

curl -X POST 'https://b2b.lumowallet.io/user-wallets/{walletId}/block' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "Suspicious activity detected"
  }'

После блокировки:

  • Депозиты на этот адрес не обрабатываются
  • isBlocked: true в ответе
  • blockReason содержит причину

Список заблокированных

curl -X GET 'https://b2b.lumowallet.io/user-wallets/blocked' \
  -H 'X-API-Key: YOUR_API_KEY'

Замена кошелька

Создайте новый кошелёк для пользователя, заблокировав старый:

curl -X POST 'https://b2b.lumowallet.io/user-wallets/{walletId}/replace' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "reason": "User requested new address"
  }'

Ответ — новый кошелёк с тем же externalId:

{
  "id": "880e8400-e29b-41d4-a716-446655440003",
  "externalId": "user-12345",
  "address": "TNewAddress...",
  "isBlocked": false,
  ...
}

Старый кошелёк автоматически блокируется.

AML и пересылка

Все депозиты пользователей проходят:

  1. AML-проверку — анализ адреса отправителя
  2. Зачисление — при успешной проверке
  3. Пересылку — средства отправляются на treasury компании

При aml_failed — средства заблокированы, свяжитесь с поддержкой.

Рекомендации

  1. Уникальный externalId — используйте ID пользователя из вашей системы
  2. Сохраняйте walletId — для быстрого поиска и операций
  3. Обрабатывайте webhooks — не полагайтесь на polling
  4. Блокируйте при подозрениях — лучше заблокировать, чем потерять средства