Skip to main content

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

ParameterTypeRequiredDescription
addressstringYesBlockchain wallet address
currencystringYesCryptocurrency code (e.g., “BTC”, “ETH”)
labelstringNoUser-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

ParameterTypeDescription
currencystringFilter by currency
screeningStatusstringFilter 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

StatusDescription
pendingScreening in progress
clearWallet passed screening
flaggedWallet has compliance flags
blockedWallet is blocked (high risk)
errorScreening failed

Risk Levels

LevelRisk ScoreDescription
low0.0 - 0.3No significant risk indicators
medium0.3 - 0.7Some risk factors present
high0.7 - 1.0Significant risk, wallet blocked

Screening Flags

Common flags returned by Chainalysis:
FlagDescription
sanctionsAddress on sanctions list
darknetAssociated with darknet markets
mixerAssociated with mixing services
ransomwareLinked to ransomware activity
scamKnown 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