Partner API
  1. Crypto Withdrawals
Partner API
  • Getting Started
    • Introduction
    • Authentication
    • Business Use Cases
  • API References
    • Partner Operations
      • Get Balances
      • Get Transaction History
      • Retrieve Exchange Rate and Create a Lock
      • Create and Finalize an Exchange
      • Create Crypto Withdrawal
      • Create a SEPA Transfer
      • Get SEPA Transfer Details
    • User Accounts with KYC
      • Create User Account and Generate Balances
      • Add KYC File
      • Add POA File
      • Add User Verification
      • Update Existing User
      • Delete User
      • Suspend User
      • Unsuspend User
      • Get User Balances
      • Get User Transaction History
    • User Accounts without KYC
      • Create User Account and Generate Balances Without KYC
      • Update Existing User
      • Delete User
      • Suspend User
      • Unsuspend User
      • Get User Balances
      • Get User Transaction History
    • KYC by P100
      • Creating KYC Verification
      • Redirect to Verification
      • Get KYC Status
    • Currency Exchange
      • Retrieve Exchange Rate
      • Retrieve Exchange Rate and Create a Lock
      • Create and Finalize an Exchange
      • Retrieve Detailed Exchange Infromation
    • Crypto Deposits
      • Update Travel Rule
    • Crypto Withdrawals
      • Get Network Fee
        GET
      • Create Crypto Withdrawal
        POST
      • Get Crypto Withdrawal Details
        GET
    • Internal Transfers
      • Create a Transfer
      • Get Transfer Details
    • Virtual Cards
      • Create Virtual Card
      • Get All User Cards
      • Get Card Details
      • Update Card PIN
      • Block Card
      • Unblock Card
      • Get Card Limits
      • Update Card Limits
      • Delete Card
    • Custom Fiat Operations
      • SEPA Deposit & Withdrawal
  • Integration
    • SDKs & Integration Guides
    • Transaction Processing
    • Error Handling
    • Rate Limiting
    • Webhooks
      • User & KYC Webhooks
        • User Balance Generation
        • KYC File Added
        • POA Verification Status
        • KYC Verification Status
      • Transfers & Payments Webhooks
        • P2P Transfer Webhook
        • SEPA Transfer
        • SEPA Deposit
        • Crypto Withdrawal
        • Crypto Deposit
        • Exchange
        • Card Transaction
      • Card Webhooks
        • Card 3DS Code
        • Card Activation Code
  • Reference
    • Supported Countries
    • Supported Currencies
    • Fees
    • FAQ
    • Changelog
    • Support
  1. Crypto Withdrawals

Create Crypto Withdrawal

Testing Env
https://partner-api-stage.p100.io
Testing Env
https://partner-api-stage.p100.io
POST
/v1/crypto-withdrawal
Initiates a cryptocurrency withdrawal from a user's account to an external blockchain address. This endpoint is used for sending funds to personal wallets, exchanges, or business partners. The request must include the user's ID, currency, amount, destination wallet address, and required compliance information. If the request is valid, the withdrawal is queued for processing and a withdrawal ID is returned immediately. Actual transfer and all compliance checks (e.g., AML/KYC, travel rule) are performed asynchronously. The network fee is deducted from the user's balance in addition to the withdrawal amount. You can track the status and outcome using the Get Crypto Withdrawal Details endpoint.
Business logic errors (such as insufficient funds) are not checked at this stage. Processing occurs asynchronously. Use the Get Transfer Details endpoint to verify the final status and any errors.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://partner-api-stage.p100.io/v1/crypto-withdrawal' \
--header 'Content-Type: application/json' \
--header 'x-api-key;' \
--data-raw '{
    "sourceExternalUserId": "75a1d530-3c12-44e8-a23a-0241b9e73c87",
    "currency": "btc",
    "amount": 10,
    "walletAddress": "0x5Fa1f7C5205EE01030b73601Bdec63f3E7E677fe",
    "memo": "",
    "network": "polygon",
    "name": "John Doe",
    "walletType": "CUSTODIAL",
    "receiverType": "NATURAL"
}'
Response Response Example
201 - Success
{
    "withdrawalId": "a739eb03-7454-4b2b-adc1-0fcbf245500a"
}

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Body Params application/json

Examples

Responses

🟢201Created
application/json
Body

🟠401Access Denied
🟠400P403: Validation error
🟠400P412: User not exist
🟠400P500: Unknown exception
🟠400P501: Service temporarily unavailable
Previous
Get Network Fee
Next
Get Crypto Withdrawal Details
Built with