Skip to main content

Endpoint

POST /partner/v1/withdrawals/usdt

Request

Headers

NameTypeRequiredDescription
X-API-KeystringYesYour partner API key
Content-TypestringYesapplication/json

Body

{
  "document": "12345678900",
  "idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fF4e",
  "usdtmicros": 100000000,
  "fee_choice": "MEDIUM",
  "network": "MATIC"
}
FieldTypeRequiredDescription
documentstringYesUser’s CPF (tax ID)
idempotency_keystring (UUID)YesUnique key to prevent duplicate requests
addressstringYesDestination EVM wallet address
usdtmicrosintegerYesAmount in USDT micros (1 USDT = 1,000,000 micros)
fee_choicestringYesFee priority level
networkstringYesBlockchain network

Fee choices

ValueDescription
LOWLower fee, slower confirmation
MEDIUMBalanced fee and speed
HIGHHigher fee, faster confirmation

Networks

ValueDescription
ETHEthereum mainnet
MATICPolygon (recommended for lower fees)

Response

Success - Just created (201 Created)

{
  "id": 12345
}

Success - Already created (200 OK)

If the same idempotency key was used before:
{
  "id": 12345
}

User not found (404 Not Found)

{
  "error": "user_not_found"
}

Invalid address (400 Bad Request)

{
  "error": "invalid_address"
}

Insufficient funds (422 Unprocessable Entity)

{
  "error": "insufficient_funds"
}

Invalid amount (422 Unprocessable Entity)

{
  "error": "invalid_amount"
}

Invalid fee (422 Unprocessable Entity)

{
  "error": "invalid_fee"
}

Example

curl -X POST https://api.bipa.tech/partner/v1/withdrawals/usdt \
  -H "X-API-Key: your_partner_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "document": "12345678900",
    "idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
    "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8fF4e",
    "usdtmicros": 100000000,
    "fee_choice": "MEDIUM",
    "network": "MATIC"
  }'
USDT withdrawals are processed asynchronously. Monitor the Events endpoint for usdt_withdrawal events to track the transaction status (createdsentsettled).

Amount conversion

The usdtmicros field uses 6 decimal places:
USDT Amountusdtmicros Value
1.00 USDT1000000
10.00 USDT10000000
100.00 USDT100000000
0.50 USDT500000