Skip to main content

Receive Deposits

A step-by-step guide to receiving digital asset deposits into your WickiePay account.

Overview

1. Set up a webhook destination
2. Create an asset pool
3. Create a crypto address
4. Receive deposit and ingest webhooks
5. (Optional) Auto-consolidate to master wallet

Step 1: Set Up a Webhook Destination

Before receiving deposits, configure a webhook endpoint to get notified:

POST /api/v1/hook/destination

{
"url": "https://yourserver.com/webhooks/wickiepay",
"events": ["deposit.*"],
"description": "Deposit notifications"
}

See Webhooks Overview for full setup details.

Step 2: Create an Asset Pool

POST /api/v2/asset-pool

{
"name": "Customer Deposits",
"description": "Pool for incoming customer deposits"
}

Step 3: Create a Crypto Address

Generate a deposit address for a specific asset and network:

POST /api/v2/address

{
"assetPoolId": "your-pool-id",
"network": "ETHEREUM",
"asset": "USDC"
}

Share the returned address with your customer or display it in your application.

Step 4: Receive Deposit and Ingest Webhooks

When funds arrive at the address, you'll receive webhook events:

  1. deposit.status_change (status: PENDING) — Transaction detected on-chain
  2. deposit.status_change (status: CONFIRMED) — Sufficient confirmations
  3. deposit.status_change (status: COMPLETE) — Funds available in your pool
{
"event": "deposit.status_change",
"data": {
"id": "tx-uuid",
"status": "COMPLETE",
"address": "0x1234...abcd",
"network": "ETHEREUM",
"asset": "USDC",
"amount": 1000.00,
"txHash": "0xabc...123",
"confirmations": 12
}
}

Step 5: Auto-Consolidate Assets

For high-volume operations, consolidate funds from multiple deposit addresses into a master wallet:

POST /api/v2/consolidation

{
"assetPoolId": "your-pool-id",
"targetAddressId": "master-wallet-addr-id",
"asset": "USDC"
}

This reduces the number of addresses holding funds and simplifies treasury management.

Recovering Funds on Incorrect Network

If a customer sends funds on the wrong network (e.g., USDC on Tron instead of Ethereum), use the Return Transaction API to initiate a return, or create an address on the correct network to access the funds.

Next Steps