Send stablecoins (USDC or USDT) between Lumx customers or to external wallets.

Prerequisites

Before initiating a transfer:
  1. Verified Sender: Sending customer must be KYC-approved
  2. Sufficient Balance: Sender must have enough stablecoins
  3. Valid Recipient: Either a Lumx customer ID or valid blockchain address

Transaction Flow

1

Initiate Transfer

Submit transfer request with amount and recipient
2

Balance Verification

System verifies sender has sufficient funds
3

Blockchain Transaction

Execute on-chain transfer
4

Confirmation

Transaction confirmed on blockchain
5

Balance Updates

Update sender and recipient balances

Creating a Transfer Transaction

Transfer to Another Customer

Send stablecoins to another verified Lumx customer:
curl -X POST https://api.lumx.io/transactions/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "USDC",
    "from": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "to": "980dc26b-42fd-4044-8a42-2271d20a2eb9",
    "amount": "1000.000000"
  }'

Transfer to External Wallet

Send stablecoins to any blockchain address:
curl -X POST https://api.lumx.io/transactions/transfer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "USDT",
    "from": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1",
    "amount": "500.000000"
  }'

Request Parameters

ParameterTypeRequiredDescription
currencystringYes"USDC" or "USDT"
fromstringYesSender’s customer UUID
tostringYesRecipient customer UUID or wallet address
amountstringYesAmount to transfer (6 decimal precision)
Stablecoin amounts support up to 6 decimal places (e.g., “1000.123456”)

Transaction Response

Initial Response (Processing)

{
  "id": "123e4567-e89b-12d3-a456-426614174004",
  "customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "type": "transfer",
  "request": {
    "currency": "USDC",
    "from": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "to": "980dc26b-42fd-4044-8a42-2271d20a2eb9",
    "amount": "1000.000000"
  },
  "state": {
    "status": "processing"
  },
  "createdAt": "2024-03-20T15:30:00Z",
  "updatedAt": "2024-03-20T15:30:00Z"
}

Transaction Status Monitoring

Check transfer status:
curl -X GET https://api.lumx.io/transactions/{transactionId} \
  -H "Authorization: Bearer YOUR_API_KEY"

Transaction Statuses

processing

Transaction being processed on blockchain

success

Transfer confirmed on blockchain

failed

Transfer failed (insufficient funds, etc.)

Success Response

{
  "id": "123e4567-e89b-12d3-a456-426614174004",
  "customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "type": "transfer",
  "request": {
    "currency": "USDC",
    "from": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "to": "980dc26b-42fd-4044-8a42-2271d20a2eb9",
    "amount": "1000.000000"
  },
  "state": {
    "status": "success",
    "blockchain": {
      "transactionHash": "0x1234567890123456789012345678901234567890",
      "blockExplorerUrl": "https://amoy.polygonscan.com/tx/0x1234567890123456789012345678901234567890"
    }
  },
  "createdAt": "2024-03-20T15:30:00Z",
  "updatedAt": "2024-03-20T15:30:15Z"
}

Blockchain Verification

All transfers are recorded on the blockchain:
FieldDescription
transactionHashUnique blockchain transaction identifier
blockExplorerUrlDirect link to view transaction details
You can verify:
  • Transaction amount and currency
  • Sender and recipient addresses
  • Block confirmation
  • Gas fees (paid by Lumx)

Next Steps