This guide shows the shortest safe path through the integration: authenticate a backend request, fetch supported values, create a wallet, and confirm how to read activity.

1. Choose an environment

Use the staging base URL while building and testing.
https://devapi.dyrectpay.com
Use the production base URL only when your integration has been approved.
https://secureapi.dyrectpay.com

2. Add API-key authentication

Protected API requests should be sent by your backend with Simfy Business-issued API credentials. Send these headers:
x-api-key: YOUR_SIMFY_BUSINESS_API_KEY
x-timestamp: 2026-05-22T00:00:00.000Z
x-signature: GENERATED_SIGNATURE
Read Request Signing before testing live calls.

3. Fetch supported networks

Use supported values returned by Simfy Business instead of guessing coin, token, chain, or market values.
curl https://devapi.dyrectpay.com/api/v1/utils/usdt/networks \
  -H "x-api-key: YOUR_SIMFY_BUSINESS_API_KEY" \
  -H "x-timestamp: 2026-05-22T00:00:00.000Z" \
  -H "x-signature: GENERATED_SIGNATURE"
Response:
{
  "status": "success",
  "message": "success",
  "data": [
    {
      "reference": "ethereum",
      "name": "ERC20"
    },
    {
      "reference": "binance",
      "name": "BEP20"
    }
  ]
}

4. Create a crypto wallet

curl -X POST https://devapi.dyrectpay.com/api/v1/wallets/generate-wallet \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_SIMFY_BUSINESS_API_KEY" \
  -H "x-timestamp: 2026-05-22T00:00:00.000Z" \
  -H "x-signature: GENERATED_SIGNATURE" \
  -d '{
    "token": "usdt",
    "name": "Main USDT Wallet"
  }'
Request body:
{
  "token": "usdt",
  "name": "Main USDT Wallet"
}

5. Get the crypto deposit address

curl "https://devapi.dyrectpay.com/api/v1/wallets/deposit-address?coin=usdt&chain=binance" \
  -H "x-api-key: YOUR_SIMFY_BUSINESS_API_KEY" \
  -H "x-timestamp: 2026-05-22T00:00:00.000Z" \
  -H "x-signature: GENERATED_SIGNATURE"

6. Preview value-moving actions before confirming

Payouts, withdrawals, and swaps should be previewed or quoted before the user confirms. For NGN payouts, use the payout preview endpoint first:
curl -X POST https://devapi.dyrectpay.com/api/v1/wallets/preview-withdraw-local-transfer \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_SIMFY_BUSINESS_API_KEY" \
  -H "x-timestamp: 2026-05-22T00:00:00.000Z" \
  -H "x-signature: GENERATED_SIGNATURE" \
  -d '{
    "amount": 10000,
    "coin": "ngn",
    "accountNumber": "0123456789",
    "bankCode": "044",
    "remark": "Customer payout"
  }'

7. List wallets

curl https://devapi.dyrectpay.com/api/v1/wallets \
  -H "x-api-key: YOUR_SIMFY_BUSINESS_API_KEY" \
  -H "x-timestamp: 2026-05-22T00:00:00.000Z" \
  -H "x-signature: GENERATED_SIGNATURE"
Example response:
{
  "status": "success",
  "message": "Success",
  "data": [
    {
      "_id": "wallet_id",
      "address": "tb1qexampleaddress",
      "chainType": "btc",
      "status": "active",
      "subscribedChains": ["bitcoin"],
      "usage": "crypto_to_cash",
      "provider": "tatum"
    },
    {
      "_id": "wallet_id",
      "address": "0xexampleaddress",
      "chainType": "evm",
      "status": "active",
      "subscribedChains": ["binance", "ethereum", "polygon"],
      "usage": "crypto_to_cash",
      "provider": "tatum"
    }
  ]
}

8. What to build next

After the wallet and payout flow works, continue with:
  • Transactions, if your product needs activity history.
  • Swaps, if your product supports asset conversion.

9. Handle errors

Check the HTTP status code and the JSON status field before using the response data.
{
  "status": "error",
  "message": "No API key provided",
  "data": null
}