Skip to main content
Initiates a withdrawal (buy) trade. AssetPay purchases the item from a marketplace supplier and delivers it to the user via Steam trade offer. Authentication: Client Token (Authorization header)

Request

Body Parameters

Response

The response is a full Trade object. Each withdrawal item carries its own status field that mirrors the trade-level status as it progresses. On a freshly initiated withdraw the items only carry the data you submitted (itemId, offer.price) — Steam-side fields like name, marketHashName, type, and iconUrl are omitted until AssetPay has fetched them from the marketplace. They populate on subsequent state changes; poll GET /client/trades/{id} or rely on callbacks for the resolved per-item view.

How Balance Approval Works

After this endpoint is called, AssetPay sends an initiated callback to your backend before purchasing anything. Your backend checks the user’s balance, deducts it, and responds with 2xx to approve. If the balance is insufficient, respond with 4xx (e.g. 402 Payment Required) to reject the trade. See the Withdrawals guide for details.
Withdrawals require your merchant account to have an active callback URL configured. Calling this endpoint without one immediately fails with MERCHANT_NO_CALLBACK_URL (1705).

Rate Limits

Shared across all clients of the same merchant.

Errors