Authorization header)
Request
Body Parameters
Response
preCredit, pendingCredit and collateral are already present on the creation response. For CS2, preCredit is what will be credited when the trade enters hold and pendingCredit the remainder. A Rust deposit has no hold: it carries preCredit equal to totalPrice and pendingCredit 0, and the full amount is credited on completed. collateral appears only on this response and never on callbacks.
Split baskets
A basket can be split into several trades internally, for example when some items are routed to a deposit provider and the rest go through AssetPay’s own bots. Each trade gets its own Steam offer and its own callbacks. The response body is the largest trade (the primary), and the others ride along inrelatedTrades[], each a full Trade object. Only the primary carries your externalId. Instant credit is decided once for the whole basket and apportioned across the trades. If some of the trades fail to dispatch, the request still succeeds with the ones that went out; it only fails when none did.
Rate Limits
Per-merchant tier throttle (shared across all clients of the same merchant):
Per-client guard (scoped per (merchant, clientSteamId)):
An “active” deposit is any not-yet-accepted trade (
initiated, pending or active). The per-client guard runs before pricing/inventory fetches, so rate-limited requests bail cheap.