Wallets API
Wallets store customer cryptocurrency addresses. All wallets are automatically screened for AML compliance when added.
Add Wallet
Add a new wallet for a customer. The wallet will be automatically screened via Chainalysis.
Endpoint
POST /v1/customers/{customerId}/wallets
Request Body
| Parameter | Type | Required | Description |
|---|
address | string | Yes | Blockchain wallet address |
currency | string | Yes | Cryptocurrency code (e.g., “BTC”, “ETH”) |
label | string | No | User-friendly wallet name |
Example Request
curl -X POST https://api.nowramp.com/v1/customers/cust_abc123/wallets \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f5bE21",
"currency": "ETH",
"label": "My Main Wallet"
}'
Response
{
"success": true,
"data": {
"id": "wallet_xyz789",
"customerId": "cust_abc123",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f5bE21",
"currency": "ETH",
"label": "My Main Wallet",
"screeningStatus": "pending",
"isBlocked": false,
"createdAt": "2024-01-15T10:15:00Z"
}
}
Wallet screening is asynchronous. Check the screeningStatus field or wait for the wallet.screened webhook before using the wallet.
Get Wallet
Retrieve a wallet by ID.
Endpoint
GET /v1/wallets/{walletId}
Example Request
curl https://api.nowramp.com/v1/wallets/wallet_xyz789 \
-H "X-API-Key: your_api_key"
Response
{
"success": true,
"data": {
"id": "wallet_xyz789",
"customerId": "cust_abc123",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f5bE21",
"currency": "ETH",
"label": "My Main Wallet",
"screeningStatus": "clear",
"screeningResult": {
"riskScore": 0.05,
"riskLevel": "low",
"flags": [],
"checkedAt": "2024-01-15T10:15:30Z"
},
"isBlocked": false,
"createdAt": "2024-01-15T10:15:00Z"
}
}
List Customer Wallets
List all wallets for a customer.
Endpoint
GET /v1/customers/{customerId}/wallets
Query Parameters
| Parameter | Type | Description |
|---|
currency | string | Filter by currency |
screeningStatus | string | Filter by screening status |
Example Request
curl "https://api.nowramp.com/v1/customers/cust_abc123/wallets?currency=ETH" \
-H "X-API-Key: your_api_key"
Delete Wallet
Remove a wallet from a customer.
Endpoint
DELETE /v1/wallets/{walletId}
Example Request
curl -X DELETE https://api.nowramp.com/v1/wallets/wallet_xyz789 \
-H "X-API-Key: your_api_key"
Screening Statuses
| Status | Description |
|---|
pending | Screening in progress |
clear | Wallet passed screening |
flagged | Wallet has compliance flags |
blocked | Wallet is blocked (high risk) |
error | Screening failed |
Risk Levels
| Level | Risk Score | Description |
|---|
low | 0.0 - 0.3 | No significant risk indicators |
medium | 0.3 - 0.7 | Some risk factors present |
high | 0.7 - 1.0 | Significant risk, wallet blocked |
Screening Flags
Common flags returned by Chainalysis:
| Flag | Description |
|---|
sanctions | Address on sanctions list |
darknet | Associated with darknet markets |
mixer | Associated with mixing services |
ransomware | Linked to ransomware activity |
scam | Known scam address |
Wallets with blocked status cannot be used for orders. Blocked wallets should be reviewed and the customer may need additional verification.
Webhooks
Wallet events trigger webhooks:
wallet.created - Wallet added (screening pending)
wallet.screened - Screening completed
wallet.blocked - Wallet was blocked
wallet.deleted - Wallet removed