---
title: "Create Crypto Withdraw Deposit"
method: POST
path: "/withdraw/crypto-deposit-address"
tags: ["merchant"]
---

# Create Crypto Withdraw Deposit

`POST /withdraw/crypto-deposit-address`

Create a crypto deposit session for a payout. Returns a deposit address where
the merchant can send funds. Once funds are received via the deposit webhook,
the payout is automatically initiated.

## Headers

- `x-coinflow-auth-user-id` string, required

## Request body

- CreateCryptoWithdrawBody
  - `account` string, required — The payout account token (e.g., bank account or debit card token)
  - `speed` 'asap' | 'same_day' | 'standard' | 'card' | 'iban' | 'pix' | 'eft' | 'venmo' | 'paypal' | 'wire' | 'interac' | 'swift', required
  - `chain` string, required — The supported chain name (e.g., "Ethereum", "Polygon", "Solana")
  - `token` string, required — The token symbol to deposit (e.g., "USDC")

## Response `200`

Ok

- CryptoWithdrawDepositResponse
  - `depositAddress` string, required
  - `paymentChainName` string, required
  - `paymentCurrencySymbol` string, required
  - `paymentAmount` string, required
  - `chainLogoUrl` string, required
  - `currencyLogoUrl` string, required
  - `idempotencyKey` string, required — The id for this deposit. Use it as the `search` value on `GET /api/merchant/withdraws` to look up the resulting payout once funds are received.

---

[API](https://skmtc.net/coinflow/apis/api-reference.md) · [All operations](https://skmtc.net/coinflow/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coinflow/api-reference/versions/3f6a046fbb34/schema)
