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
Endpoints
Wallet Checks
Account
USDT Transfers
Deposit Checks (AML/KYT)
Wallet Checks
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 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 |
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 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
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).
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 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 |
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 | ✅ | — | — |