Chainy API Documentation

REST API for wallet risk assessment, deposit AML checks, and USDT transfer monitoring.

Authentication

All API requests require an API key passed in the X-API-Key header.

curl -H "X-API-Key: YOUR_API_KEY" https://app.chainysoft.io/api/external/balance

API keys can be generated in your Personal Dashboard under the "API Keys" section.

Base URL
https://app.chainysoft.io

Wallet Checks

POST /api/external/checks/create

Create a wallet address risk check. The check is processed synchronously — the response includes the full risk analysis result.

Request Body
Parameter Type Required Description
address string required Wallet address to check
network string required Blockchain network: eth, bsc, btc, trx, ltc
Example Request
curl -X POST https://app.chainysoft.io/api/external/checks/create \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28", "network": "eth"}'
Response
{
  "status": true,
  "data": {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "network": "eth",
    "address": "0x742d35cc6634c0532925a3b844bc9e7595f2bd28",
    "status": "COMPLETED",
    "riskLevel": "low",
    "riskScore": 5,
    "risks": [],
    "checkUrl": "https://app.chainysoft.io/check-details.html?uuid=a1b2c3d4..."
  },
  "balance": {
    "previous": 100.00,
    "current": 80.00,
    "charged": 20.00
  }
}
Error Codes
400 Missing address or network
402 Insufficient balance
404 User not found
GET /api/external/checks/:uuid

Get the result of a previously created wallet check by its UUID.

Path Parameters
uuid required UUID returned from the create check endpoint
Example Request
curl https://app.chainysoft.io/api/external/checks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "status": true,
  "data": {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "network": "eth",
    "address": "0x742d35cc6634c0532925a3b844bc9e7595f2bd28",
    "status": "COMPLETED",
    "riskLevel": "low",
    "riskScore": 5,
    "risks": []
  }
}
Error Codes
403 Check belongs to another user
404 Check not found
GET /api/external/checks/list

List all your wallet checks with pagination.

Query Parameters
Parameter Type Default Description
limit integer 100 Number of results per page
offset integer 0 Offset for pagination
status string Filter by status: NEW, PROCESSING, COMPLETED
Response
{
  "status": true,
  "data": {
    "checks": [
      {
        "uuid": "a1b2c3d4-...",
        "address": "0x742d35cc...",
        "network": "eth",
        "status": "COMPLETED",
        "checkType": "address",
        "createdAt": "2026-02-12T10:00:00.000Z",
        "checkUrl": "https://app.chainysoft.io/check-details.html?uuid=..."
      }
    ],
    "pagination": {
      "total": 42,
      "limit": 100,
      "offset": 0,
      "hasMore": false
    }
  }
}

Account

GET /api/external/balance

Get your current account balance and pricing info.

Example Request
curl https://app.chainysoft.io/api/external/balance \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "status": true,
  "data": {
    "email": "user@example.com",
    "balance": "80.00",
    "pricePerCheck": "20.00",
    "checksRemaining": 4
  }
}

USDT Transfers

POST /api/external/usdt-transfers

Get USDT transfer history for a wallet address, including totals for sent, received, and net balance.

Request Body
Parameter Type Required Description
address string required Wallet address
network string required Network: eth, bsc, trx
limit integer optional Max transfers to return (default: 50)
Response
{
  "status": true,
  "data": {
    "address": "0x...",
    "network": "ETH",
    "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "transfers": [
      {
        "hash": "0xabc...",
        "from": "0x111...",
        "to": "0x222...",
        "valueUsdt": 1000.50,
        "timestamp": 1700000000
      }
    ],
    "stats": {
      "total": 25,
      "totalSent": "5000.00",
      "totalReceived": "12000.00",
      "netBalance": "7000.00"
    }
  }
}

Deposit Checks (AML/KYT)

Register incoming deposit transactions for automated AML/KYT verification. The system analyzes transaction risk, counterparty exposure, and makes an automated decision (ALLOW / HOLD / REJECT).

POST /api/external/deposit-checks

Register a deposit transaction for AML/KYT check. Processing starts automatically.

Request Body
Parameter Type Required Description
network string required Network: ETH, BSC, TRX
tx_hash string required Transaction hash
deposit_address string required Your deposit wallet address
token_id string optional Token contract address (for USDT, etc)
amount number optional Transaction amount
Example Request
curl -X POST https://app.chainysoft.io/api/external/deposit-checks \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "network": "ETH",
    "tx_hash": "0xabc123...",
    "deposit_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28",
    "token_id": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "amount": 1500.00
  }'
Response
{
  "status": true,
  "data": {
    "uuid": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
    "network": "ETH",
    "tx_hash": "0xabc123...",
    "deposit_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28",
    "token_id": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "kyt_status": "REGISTERED",
    "decision": "PENDING",
    "createdAt": "2026-02-12T10:00:00.000Z"
  },
  "already_exists": false
}
GET /api/external/deposit-checks/:uuid

Get deposit check result. If the check is still PENDING, a background recheck is triggered automatically.

Path Parameters
uuid required UUID of the deposit check
Response (Completed)
{
  "status": true,
  "data": {
    "uuid": "b2c3d4e5-...",
    "network": "ETH",
    "tx_hash": "0xabc123...",
    "deposit_address": "0x742d35Cc...",
    "kyt_status": "DONE",
    "decision": "ALLOW",
    "risk_score": 8,
    "decision_reason": "Low risk transaction",
    "result": {
      "risks": [...],
      "exposure": {...},
      "counterparty": {...}
    }
  },
  "is_complete": true
}
Possible Decisions
ALLOW Transaction is safe, proceed with deposit
HOLD Elevated risk, manual review recommended
REJECT High risk, do not process deposit
PENDING Check still in progress
GET /api/external/deposit-checks

List all your deposit checks with pagination and optional decision filter.

Query Parameters
Parameter Type Default Description
limit integer 100 Max results per page
offset integer 0 Pagination offset
decision string Filter: ALLOW, HOLD, REJECT, PENDING
Response
{
  "status": true,
  "data": {
    "deposits": [
      {
        "uuid": "b2c3d4e5-...",
        "network": "ETH",
        "tx_hash": "0xabc123...",
        "deposit_address": "0x742d35Cc...",
        "kyt_status": "DONE",
        "decision": "ALLOW",
        "risk_score": 8,
        "createdAt": "2026-02-12T10:00:00.000Z"
      }
    ],
    "pagination": {
      "total": 150,
      "limit": 100,
      "offset": 0,
      "hasMore": true
    }
  }
}

Risk Score Reference

Score Range Level Description
0 — 10 Low Clean wallet, no suspicious activity detected
10 — 25 Minor Some indirect exposure to risky entities
25 — 50 Medium Significant risk exposure, manual review recommended
50 — 75 High High risk exposure, proceed with caution
75 — 100 Critical Direct links to sanctioned/criminal entities

Supported Networks

Code Network Wallet Check Deposit Check USDT Transfers
eth Ethereum
bsc BNB Chain (BSC)
trx Tron
btc Bitcoin
ltc Litecoin