Skip to main content

Overview

The Withdraw API allows third-party partners to initiate cryptocurrency withdrawals on behalf of users and retrieve withdrawal history. All endpoints require API token authentication and are scoped to specific users.
All endpoints require authentication via the Authorization: Bearer <token> header. Generate your API key at Settings → API Key.

Authentication

All requests must include an API token in the Authorization header:
Unauthorized requests or requests for users not in the allowed list will return a 401 Unauthorized response.

Create Withdrawal

Initiates a cryptocurrency withdrawal request for a user. The withdrawal is created as a queued transaction and processed asynchronously.

Path Parameters

Request Body

Recipient Identifier (to parameter)

The to parameter accepts three formats:
  1. Email address: Must contain @ symbol
  2. User ID: Must be a valid UUID
    • Example: 550e8400-e29b-41d4-a716-446655440000
  3. Wallet address: Must start with 0x and be exactly 42 characters
    • Example: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb2
When an email or user ID is provided, the system will automatically resolve it to the user’s verified smart wallet address. If a wallet address is provided directly, it will be used as-is.

Example Request

Response

string
Status message indicating the withdrawal was created
object
string
The unique identifier for the bulk payment operation (UUID format)
string
The external identifier you provided, if any

Example Response

Error Responses

string
Error message describing what went wrong

List Withdrawals

Retrieves a paginated list of withdrawal transactions for a user. Supports filtering by various criteria.

Path Parameters

Query Parameters

Example Request

Response

string
Status message
object
array
Array of withdrawal objects. Each withdrawal includes:
string
Entry ID
string
Bulk payment ID
string
Current status of the withdrawal entry
string
Amount to be paid (as string for precision)
string
Currency code (e.g., USDT)
string
Recipient wallet address
string
External identifier, if provided
string
Blockchain transaction hash (if transaction has been processed)
string
Status of the token transfer on the blockchain
string
Error message, if the withdrawal failed
string
ISO 8601 timestamp of when the withdrawal was created
string
ISO 8601 timestamp of when the withdrawal was last updated
object
number
Number of results per page
number
Number of results skipped (for pagination)

Example Response

Error Responses


Withdrawal Statuses

Withdrawals progress through the following statuses:
Withdrawals are processed asynchronously. After creating a withdrawal, use the bulkId returned in the response to query the withdrawal status via the List Withdrawals endpoint.

Rate Limits

Rate limits may apply. Contact your LootRush account manager for specific rate limit information for your integration.

Best Practices

  1. Store the bulkId: Always store the bulkId returned from the Create Withdrawal endpoint for tracking and reconciliation purposes.
  2. Use externalId: Provide a unique externalId when creating withdrawals to easily track them in your system.
  3. Poll for status: After creating a withdrawal, periodically query the List Withdrawals endpoint using the bulkId or externalId to check the status.
  4. Handle errors gracefully: Implement retry logic for transient errors, and handle blocked receivers appropriately.
  5. Validate amounts: Ensure amounts are provided as strings to maintain precision for decimal values.
  6. Monitor transaction hashes: Once a withdrawal has a transactionHash, you can track it on the blockchain explorer for the respective network.

Support

For API support, please contact: