Incoming Deposits
Accept fiat deposits from your customers using local payment rails
Incoming fiat instructions enable your customers to deposit traditional currencies and receive stablecoins. Lirium generates dedicated virtual accounts for each customer, allowing them to transfer funds directly from their bank.
Deposit Flow
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Customer Bank │────▶│ CVU / CLABE │────▶│ Stablecoin │
│ Account │ │ (Virtual Acct) │ │ Balance │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ Bank Transfer │ Auto-conversion │
│ (ARS/MXN) │ at market rate │
└───────────────────────┴───────────────────────┘
Supported Deposit Methods
| Currency | Type | Virtual Account | Processing Time |
|---|---|---|---|
| ARS | ar_cvu | CVU (22 digits) + Alias | Near-instant |
| MXN | mx_clabe | CLABE (18 digits) | Same business day |
Creating a Deposit Instruction
Argentina (CVU)
POST /customers/{customer_id}/incoming_fiat_instructions
Content-Type: application/json
{
"type": "ar_cvu",
"currency": "ARS"
}Response:
{
"id": "abc123",
"type": "ar_cvu",
"currency": "ARS",
"status": "active",
"data": {
"cvu": "0000003100000000000001",
"alias": "customer.lirium.ars"
},
"created_at": "2024-01-15T10:30:00Z"
}Mexico (CLABE)
POST /customers/{customer_id}/incoming_fiat_instructions
Content-Type: application/json
{
"type": "mx_clabe",
"currency": "MXN"
}Response:
{
"id": "def456",
"type": "mx_clabe",
"currency": "MXN",
"status": "active",
"data": {
"clabe": "123456789012345678"
},
"created_at": "2024-01-15T10:30:00Z"
}Displaying Payment Details
When presenting deposit information to customers, include all relevant details:
Argentina CVU Display Example
┌────────────────────────────────────────────────┐
│ Deposit ARS to your account │
├────────────────────────────────────────────────┤
│ CVU: 0000003100000000000001 │
│ Alias: customer.lirium.ars │
│ │
│ Bank: [Your Company Name] │
│ Account Type: Virtual Account (CVU) │
└────────────────────────────────────────────────┘
Mexico CLABE Display Example
┌────────────────────────────────────────────────┐
│ Deposit MXN to your account │
├────────────────────────────────────────────────┤
│ CLABE: 123456789012345678 │
│ │
│ Bank: [Your Company Name] │
│ Account Type: SPEI Transfer │
└────────────────────────────────────────────────┘
Receiving Deposit Notifications
When a customer completes a deposit, you'll receive an incoming-funds webhook event:
{
"event_type": "incoming-funds",
"event_id": "evt_123456",
"created_at": "2024-01-15T10:35:00Z",
"data": {
"customer_id": "cust_abc123",
"instruction_id": "abc123",
"amount": "50000.00",
"currency": "ARS",
"converted_amount": "45.50",
"converted_currency": "DIPE",
"status": "completed"
}
}See Webhook Signature Verification for details on validating webhook payloads.
Conversion Rates
Deposits are converted to stablecoins at the current market rate:
| Fiat Currency | Stablecoin | Rate Source |
|---|---|---|
| ARS | DIPE | Real-time market rate |
| MXN | MXNB | Real-time market rate |
To preview conversion rates before a deposit, use the Exchange Rates API.
Error Handling
Common Errors
| Error Code | Description | Resolution |
|---|---|---|
customer_not_verified | Customer KYC not complete | Complete customer verification |
duplicate_instruction | Instruction already exists | Use existing instruction or delete first |
unsupported_currency | Currency not available | Check supported currencies for region |
limit_exceeded | Deposit limits reached | Wait for limit reset or request increase |
Limits and Restrictions
Deposit limits vary by customer verification level and jurisdiction:
| Level | Daily Limit | Monthly Limit |
|---|---|---|
| Basic | Contact support | Contact support |
| Verified | Contact support | Contact support |
| Enhanced | Contact support | Contact support |
Contact your account manager for specific limit information.
API Reference
Updated 14 days ago
