---
title: "POST /v2/withdrawals"
method: POST
path: "/v2/withdrawals"
tags: ["Funding"]
---

# POST /v2/withdrawals

`POST /v2/withdrawals`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v2/withdrawals`
- Auth: HTTP bearer

Consumes an unexpired server preview, durably reserves finalized Solana USDC, and creates or replays an owner-scoped withdrawal. No source wallet, chain, asset, route economics, or Privy request is accepted from the client.

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateUsdcWithdrawalRequest
  - `preview_id` string, uuid, required

## Response `200`

Idempotent replay

- CreateUsdcWithdrawalResponse
  - `authorization` UsdcWithdrawalSigningRequest
    - `artifact_hash` string, required
    - `payload_base64` string, required
    - `version` 1, required
  - `replayed` boolean, required
  - `withdrawal` UsdcWithdrawal, required
    - `amount_atomic` string, required
    - `created_at_unix_ms` integer, required
    - `destination_address` string, required
    - `destination_amount` string
    - `destination_chain` 'solana' | 'ethereum' | 'base' | 'arbitrum' | 'polygon' | 'tempo', required
    - `estimated_fees` WithdrawalFee[], required
      - `amount_usd` string, required
      - `kind` string, required
    - `estimated_output_amount` string, required
    - `failure_code` string
    - `id` string, uuid, required
    - `provider_action_id` string
    - `provider_fees` unknown[], required
      - unknown
    - `provider_steps` unknown[], required
      - unknown
    - `resolved_at_unix_ms` integer
    - `slippage_bps` integer, required
    - `source_asset` 'usdc', required
    - `source_chain` 'solana', required
    - `status` 'authorization_required' | 'submitting' | 'submission_unknown' | 'pending' | 'provider_succeeded' | 'succeeded' | 'rejected' | 'failed' | 'reconciliation_required', required
    - `transaction_hashes` unknown[], required
      - unknown

## Other responses

- `201`: Reserved withdrawal awaiting user authorization
- `400`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `401`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `404`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `408`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `409`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `410`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `413`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `422`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `503`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.

---

[API](https://skmtc.dev/arbital/apis/arbital-api.md) - [All operations](https://skmtc.dev/arbital/apis/arbital-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arbital/apis/arbital-api/revisions/bb0185edf43a?raw)
