Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.
Merchant-facing equivalent of POST /client/trading/withdraw. AssetPay sources the listings from the upstream marketplace and delivers them to the supplied tradeUrl. The merchant’s USD wallet is debited.Authentication: Merchant API Key (api-key header)
Scope:CORE_ACCESS
Steam trade URL of the account receiving the items
items
array
Yes
Items to buy (min 1, max 50)
items[].itemId
string
Yes
Specific listing ID from /secure/market/item (5–256 chars)
items[].price
number
Yes
The price you quoted, in USD (max $100,000). A lower current price is accepted and charged instead; a higher one is rejected with PRICE_CHANGED unless it fits maxPrice or slippageBps.
items[].maxPrice
number
No
The most you will pay for this item, in USD (above 0, max $100,000). Overrides slippageBps for this item.
items[].externalId
string
No
Your own reference for this single item (1–128 chars, unique within the request). Echoed back on the item and accepted in place of the item id by both cancel endpoints.
slippageBps
integer
No
Upward price tolerance in basis points for every item without maxPrice (0–2000, default 0; 100 = 1%).
game
string
No
"730" or "252490". Defaults to "730".
autoCancel
number
No
CS2 only. Minutes after creation to automatically cancel any item still undelivered. Integer, 30-720. Defaults to 30; send 720 to disable. Rejected on Rust with VALIDATION_FAILED. See Automatic cancellation.
Returns a full Trade object with source: "self". On initiated, each item only carries the data you submitted (the listing id as id, and offer.price). Steam-side fields like name, marketHashName, type, and iconUrl are omitted until they resolve.
The merchant’s available wallet balance must cover totalPrice at the time of the call. The funds are locked immediately; on failure they’re released, on success the sourcing portion settles to HOUSE and the AssetPay fee to HOUSE_FEES.
/secure/buy reuses the same approval pipeline as the client withdraw flow. After the trade is created (status initiated), AssetPay sends an approval callback to your registered callback URL with trade.source === "self". The trade does not proceed until you respond.
To auto-approve all your own self-trades, return 2xx whenever trade.source === "self" in your handler.
To reject (e.g. dry-run mode or operational kill-switch), respond with 4xx and the trade is failed and the wallet lock is released.
Self-trade buys still require an active callback URL and an API secret on the merchant account. The call fails immediately with MERCHANT_NO_CALLBACK_URL (1705) when there is no callback URL, MERCHANT_CALLBACK_URL_DISABLED (1706) when it has been disabled, and MERCHANT_NO_API_SECRET (1707) when there is no API secret.
This is different from /secure/sell, where there is no merchant-approval step at all. For /secure/buy, your callback handler must explicitly approve self-trades. There is no built-in bypass.
externalId is already used by another of your trades
11
PRICE_CHANGED
A current price is above what you allowed. error.details.items[] lists each such item as { itemId, quoted, current }, so you can requote just those
12
MERCHANT_BALANCE_LOW
Your available balance does not cover totalPrice
14
LISTING_NOT_FOUND
A listing is gone or no longer available
15
LISTING_PRICE_INVALID
A Rust listing has no usable price
20
WITHDRAW_IN_PROGRESS
Another buy for the same Steam account is still being created. Retryable: sent with retry-after: 1
42
INSUFFICIENT_STOCK
More units of a listing were requested than are available
43
MIXED_SUPPLIER_TRADE
The basket mixes AssetPay pool items with third-party listings; buy them in separate calls
1001
VALIDATION_FAILED
The body failed validation, including a malformed tradeUrl. HTTP 400, see error.fields
1015
WITHDRAWALS_PAUSED
Withdrawals for this game are temporarily paused
1601
INVALID_AMOUNT
An item or the basket prices to zero
1705
MERCHANT_NO_CALLBACK_URL
No active callback URL on the account
1706
MERCHANT_CALLBACK_URL_DISABLED
Your callback URL has been disabled
1707
MERCHANT_NO_API_SECRET
No active API secret on the account
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AssetPay","colors":{"primary":"#00D68F","light":"#00D68F","dark":"#00B87A"},"logo":{"light":"https://mintcdn.com/assetpay/UQCKjYVZEhu-TaGf/logo/light.svg?fit=max\u0026auto=format\u0026n=UQCKjYVZEhu-TaGf\u0026q=85\u0026s=75c31865554e4e1265ac0acb7506672d","dark":"https://mintcdn.com/assetpay/UQCKjYVZEhu-TaGf/logo/dark.svg?fit=max\u0026auto=format\u0026n=UQCKjYVZEhu-TaGf\u0026q=85\u0026s=67ea95728069f582a32db95284ef243d"},"favicon":"https://mintcdn.com/assetpay/UQCKjYVZEhu-TaGf/favicon.svg?fit=max\u0026auto=format\u0026n=UQCKjYVZEhu-TaGf\u0026q=85\u0026s=7dcb8fec44b5738fea45d0a7964b8a85","navbar":{"links":[{"href":"mailto:support@assetpay.gg","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://assetpay.gg/merchant"}},"footer":{"socials":{}},"seo":{"metatags":{"og:type":"website","og:site_name":"AssetPay","og:image":"https://assetpay.gg/opengraph-image","twitter:card":"summary_large_image"},"organization":{"id":"https://assetpay.gg/#organization","name":"AssetPay","legalName":"AssetPay Oy","url":"https://assetpay.gg","logo":"https://assetpay.gg/logo.svg","sameAs":["https://discord.gg/5zgN9FNZaF"]},"indexing":"all"},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"assetpay","hasAudioNarration":false,"actualSubdomain":"assetpay","customDomains":["assetpay.gg"],"gitSource":{"type":"github","owner":"assetpaygg","repo":"assetpay-mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"agentFeedback":true},"entitlements":{},"buildId":"6ae90e70c1d893b8b98b7e00","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":38},{"language":"default","tag":"Documentation","count":17},{"language":"default","tag":"Secure","count":16},{"language":"default","tag":"Client","count":9},{"language":"default","tag":"Integration","count":9},{"language":"default","tag":"Trading","count":5},{"language":"default","tag":"Verification","count":3},{"language":"default","tag":"Events \u0026 Webhooks","count":3},{"language":"default","tag":"Getting Started","count":3},{"language":"default","tag":"Ledger","count":2}],"searchSettings":{"maxResults":5}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/secure/buy","slug":"/api-reference/secure/buy","pageMetadata":{"title":"Buy Items (Self-Trade)","description":"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.","href":"/api-reference/secure/buy"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Merchant-facing equivalent of `,_jsx(_components.a,{href:`/api-reference/trading/withdraw`,children:_jsx(_components.code,{children:`POST /client/trading/withdraw`})}),`. AssetPay sources the listings from the upstream marketplace and delivers them to the supplied `,_jsx(_components.code,{children:`tradeUrl`}),`. The merchant’s USD wallet is debited.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Authentication:`}),` Merchant API Key (`,_jsx(_components.code,{children:`api-key`}),` header)\n`,_jsx(_components.strong,{children:`Scope:`}),` `,_jsx(_components.code,{children:`CORE_ACCESS`})]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`POST`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` https://api.assetpay.gg/secure/buy`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Content-Type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` application/json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`api-key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ap_...`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tradeUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://steamcommunity.com/tradeoffer/new/?partner=12345\u0026token=ABCDEFGH\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"itemId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"e5f6g7h8-...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"price\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`45.00`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"game\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"730\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"externalId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"self_buy_001\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tradeUrl`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Steam trade URL of the account receiving the items`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items`})}),_jsx(_components.td,{children:`array`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`Items to buy (min 1, max 50)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items[].itemId`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Specific listing ID from `,_jsx(_components.code,{children:`/secure/market/item`}),` (5–256 chars)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items[].price`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The price you quoted, in USD (max $100,000). A lower current price is accepted and charged instead; a higher one is rejected with `,_jsx(_components.code,{children:`PRICE_CHANGED`}),` unless it fits `,_jsx(_components.code,{children:`maxPrice`}),` or `,_jsx(_components.code,{children:`slippageBps`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items[].maxPrice`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`The most you will pay for this item, in USD (above 0, max $100,000). Overrides `,_jsx(_components.code,{children:`slippageBps`}),` for this item.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`items[].externalId`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Your own reference for this single item (1–128 chars, unique within the request). Echoed back on the item and accepted in place of the item id by both `,_jsx(_components.a,{href:`/api-reference/secure/cancel-buy-item`,children:`cancel`}),` endpoints.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`slippageBps`})}),_jsx(_components.td,{children:`integer`}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Upward price tolerance in basis points for every item without `,_jsx(_components.code,{children:`maxPrice`}),` (0–2000, default `,_jsx(_components.code,{children:`0`}),`; `,_jsx(_components.code,{children:`100`}),` = 1%).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`game`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"730\"`}),` or `,_jsx(_components.code,{children:`\"252490\"`}),`. Defaults to `,_jsx(_components.code,{children:`\"730\"`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`autoCancel`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`CS2 only.`}),` Minutes after creation to automatically cancel any item still undelivered. Integer, 30-720. Defaults to `,_jsx(_components.code,{children:`30`}),`; send `,_jsx(_components.code,{children:`720`}),` to disable. Rejected on Rust with `,_jsx(_components.code,{children:`VALIDATION_FAILED`}),`. See `,_jsx(_components.a,{href:`/guides/withdrawals#automatic-cancellation`,children:`Automatic cancellation`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`externalId`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Your unique tracking ID (max 128 chars)`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns a full `,_jsx(_components.a,{href:`/reference/types#trade`,children:_jsx(_components.code,{children:`Trade`})}),` object with `,_jsx(_components.code,{children:`source: \"self\"`}),`. On `,_jsx(_components.code,{children:`initiated`}),`, each item only carries the data you submitted (the listing id as `,_jsx(_components.code,{children:`id`}),`, and `,_jsx(_components.code,{children:`offer.price`}),`). Steam-side fields like `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`marketHashName`}),`, `,_jsx(_components.code,{children:`type`}),`, and `,_jsx(_components.code,{children:`iconUrl`}),` are `,_jsx(_components.strong,{children:`omitted`}),` until they resolve.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`28`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"requestId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"trade-uuid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"withdraw\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"self\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"initiated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"game\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"730\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"externalId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"self_buy_001\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"merchantId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"merchant-uuid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"clientSteamID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"76561198012345678\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"clientTradeUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://steamcommunity.com/tradeoffer/new/?partner=12345\u0026token=ABCDEFGH\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"e5f6g7h8-...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"appid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`730`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tradable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"initiated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"offer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"price\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`45.00`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"totalPrice\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`45.00`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-05-14T12:00:00.000Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-05-14T12:00:00.000Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`how-the-wallet-debit-works`,children:`How the wallet debit works`}),`\n`,_jsxs(_components.p,{children:[`The merchant’s available wallet balance must cover `,_jsx(_components.code,{children:`totalPrice`}),` at the time of the call. The funds are locked immediately; on failure they’re released, on success the sourcing portion settles to HOUSE and the AssetPay fee to HOUSE_FEES.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`the-initiated-approval-callback-also-fires`,children:[`The `,_jsx(_components.code,{children:`initiated`}),` approval callback also fires`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/secure/buy`}),` reuses the same approval pipeline as the client withdraw flow. After the trade is created (status `,_jsx(_components.code,{children:`initiated`}),`), AssetPay sends an `,_jsx(_components.a,{href:`/guides/callbacks#the-initiated-callback-for-withdrawals`,children:`approval callback`}),` to your registered callback URL with `,_jsx(_components.code,{children:`trade.source === \"self\"`}),`. The trade does not proceed until you respond.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`To auto-approve all your own self-trades, return `,_jsx(_components.code,{children:`2xx`}),` whenever `,_jsx(_components.code,{children:`trade.source === \"self\"`}),` in your handler.`]}),`\n`,_jsxs(_components.li,{children:[`To reject (e.g. dry-run mode or operational kill-switch), respond with `,_jsx(_components.code,{children:`4xx`}),` and the trade is failed and the wallet lock is released.`]}),`\n`,_jsxs(_components.li,{children:[`Self-trade buys still `,_jsx(_components.strong,{children:`require an active callback URL and an API secret`}),` on the merchant account. The call fails immediately with `,_jsx(_components.code,{children:`MERCHANT_NO_CALLBACK_URL`}),` (1705) when there is no callback URL, `,_jsx(_components.code,{children:`MERCHANT_CALLBACK_URL_DISABLED`}),` (1706) when it has been disabled, and `,_jsx(_components.code,{children:`MERCHANT_NO_API_SECRET`}),` (1707) when there is no API secret.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`This is different from `,_jsx(_components.code,{children:`/secure/sell`}),`, where there is no merchant-approval step at all. For `,_jsx(_components.code,{children:`/secure/buy`}),`, your callback handler must explicitly approve self-trades. There is no built-in bypass.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`rate-limits`,children:`Rate Limits`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Merchant Status`}),_jsx(_components.th,{children:`Limit`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Verified`}),_jsx(_components.td,{children:`5,000 requests / min`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unverified`}),_jsx(_components.td,{children:`50 requests / min`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[`Same set as `,_jsx(_components.a,{href:`/api-reference/trading/withdraw#errors`,children:_jsx(_components.code,{children:`POST /client/trading/withdraw`})}),`. The ones you are most likely to see:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`EXTERNAL_ID_EXISTS`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`externalId`}),` is already used by another of your trades`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`11`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`PRICE_CHANGED`})}),_jsxs(_components.td,{children:[`A current price is above what you allowed. `,_jsx(_components.code,{children:`error.details.items[]`}),` lists each such item as `,_jsx(_components.code,{children:`{ itemId, quoted, current }`}),`, so you can requote just those`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`12`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MERCHANT_BALANCE_LOW`})}),_jsxs(_components.td,{children:[`Your available balance does not cover `,_jsx(_components.code,{children:`totalPrice`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`14`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`LISTING_NOT_FOUND`})}),_jsx(_components.td,{children:`A listing is gone or no longer available`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`15`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`LISTING_PRICE_INVALID`})}),_jsx(_components.td,{children:`A Rust listing has no usable price`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`20`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`WITHDRAW_IN_PROGRESS`})}),_jsxs(_components.td,{children:[`Another buy for the same Steam account is still being created. Retryable: sent with `,_jsx(_components.code,{children:`retry-after: 1`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`42`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INSUFFICIENT_STOCK`})}),_jsx(_components.td,{children:`More units of a listing were requested than are available`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`43`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MIXED_SUPPLIER_TRADE`})}),_jsx(_components.td,{children:`The basket mixes AssetPay pool items with third-party listings; buy them in separate calls`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1001`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`VALIDATION_FAILED`})}),_jsxs(_components.td,{children:[`The body failed validation, including a malformed `,_jsx(_components.code,{children:`tradeUrl`}),`. HTTP 400, see `,_jsx(_components.code,{children:`error.fields`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1015`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`WITHDRAWALS_PAUSED`})}),_jsx(_components.td,{children:`Withdrawals for this game are temporarily paused`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1601`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INVALID_AMOUNT`})}),_jsx(_components.td,{children:`An item or the basket prices to zero`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1705`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MERCHANT_NO_CALLBACK_URL`})}),_jsx(_components.td,{children:`No active callback URL on the account`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1706`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MERCHANT_CALLBACK_URL_DISABLED`})}),_jsx(_components.td,{children:`Your callback URL has been disabled`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1707`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`MERCHANT_NO_API_SECRET`})}),_jsx(_components.td,{children:`No active API secret on the account`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Buy Items (Self-Trade)","description":"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.","href":"/api-reference/secure/buy"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Request","slug":"request","depth":2,"children":[{"title":"Body Parameters","slug":"body-parameters","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"How the wallet debit works","slug":"how-the-wallet-debit-works","depth":2,"children":[]},{"title":"The initiated approval callback also fires","slug":"the-initiated-approval-callback-also-fires","depth":2,"children":[]},{"title":"Rate Limits","slug":"rate-limits","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"assetpay","siteName":"AssetPay","title":"Buy Items (Self-Trade) - AssetPay","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-12T19:58:57.940Z","originalFileLocation":"api-reference/secure/buy.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.\">\u003cmeta data-mint-head name=\"application-name\" content=\"AssetPay\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Buy Items (Self-Trade) - AssetPay\">\u003cmeta data-mint-head property=\"og:description\" content=\"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AssetPay\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://assetpay.gg/docs/api-reference/secure/buy\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://assetpay.gg/opengraph-image\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Buy Items (Self-Trade) - AssetPay\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://assetpay.gg/opengraph-image\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/assetpay/IRPR49ZHsgEN9i-Y/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AssetPay\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00D68F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://assetpay.gg/docs/api-reference/secure/buy\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/secure/buy.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://assetpay.gg/#organization\",\"name\":\"AssetPay\",\"legalName\":\"AssetPay Oy\",\"url\":\"https://assetpay.gg\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://assetpay.gg/logo.svg\"},\"sameAs\":[\"https://discord.gg/5zgN9FNZaF\"]},{\"@type\":\"WebSite\",\"@id\":\"https://assetpay.gg/docs#website\",\"name\":\"AssetPay\",\"url\":\"https://assetpay.gg/docs\",\"publisher\":{\"@id\":\"https://assetpay.gg/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://assetpay.gg/docs/api-reference/secure/buy#webpage\",\"url\":\"https://assetpay.gg/docs/api-reference/secure/buy\",\"name\":\"Buy Items (Self-Trade)\",\"description\":\"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.\",\"dateModified\":\"2026-09-12T19:58:57.940Z\",\"isPartOf\":{\"@id\":\"https://assetpay.gg/docs#website\"},\"breadcrumb\":{\"@id\":\"https://assetpay.gg/docs/api-reference/secure/buy#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://assetpay.gg/docs/api-reference/secure/buy#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Secure\",\"item\":\"https://assetpay.gg/docs/api-reference/secure/check-tradeurl\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Buy Items (Self-Trade)\",\"item\":\"https://assetpay.gg/docs/api-reference/secure/buy\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://assetpay.gg/docs/api-reference/secure/buy#article\",\"headline\":\"Buy Items (Self-Trade)\",\"name\":\"Buy Items (Self-Trade)\",\"description\":\"Merchant-side withdrawal: AssetPay sources listings from the upstream marketplace and delivers them to the Steam account behind the supplied trade URL.\",\"url\":\"https://assetpay.gg/docs/api-reference/secure/buy\",\"mainEntityOfPage\":{\"@id\":\"https://assetpay.gg/docs/api-reference/secure/buy#webpage\"},\"image\":\"https://assetpay.gg/opengraph-image\",\"dateModified\":\"2026-09-12T19:58:57.940Z\",\"publisher\":{\"@id\":\"https://assetpay.gg/#organization\"},\"isPartOf\":{\"@id\":\"https://assetpay.gg/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AssetPay\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"AssetPay\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/api-reference/secure/buy.md","siteName":"AssetPay","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"AssetPay API Overview \u0026 Reference","sidebarTitle":"API Overview","href":"/api-reference/introduction"}]},{"group":"Authentication","pages":[{"title":"Authenticate Client","href":"/api-reference/authentication/authenticate-client"}]},{"group":"Client","pages":[{"title":"Get Inventory","href":"/api-reference/client/get-inventory"},{"title":"Get Market Items","href":"/api-reference/client/get-market"},{"title":"Get Search Suggestions","href":"/api-reference/client/get-suggestions"},{"title":"Get Item Listings","href":"/api-reference/client/get-item-listings"},{"title":"Get Trade History","href":"/api-reference/client/get-trades"},{"title":"Get Crypto Deposit Address","href":"/api-reference/client/crypto-deposit-address"},{"title":"List Crypto Deposits","href":"/api-reference/client/crypto-deposits"},{"title":"Crypto Withdraw","href":"/api-reference/client/crypto-withdraw"},{"title":"List Crypto Withdrawals","href":"/api-reference/client/crypto-withdrawals"}]},{"group":"Trading","pages":[{"title":"Initiate Deposit","href":"/api-reference/trading/deposit"},{"title":"Initiate Withdrawal","href":"/api-reference/trading/withdraw"},{"title":"Quick Withdrawal","href":"/api-reference/trading/withdraw-quick"},{"title":"Cancel Withdrawal","href":"/api-reference/trading/cancel-withdrawal"},{"title":"Cancel Withdrawal Item","href":"/api-reference/trading/cancel-withdraw-item"}]},{"group":"Secure","pages":[{"title":"Check Trade URL","href":"/api-reference/secure/check-tradeurl"},{"title":"Get Prices","href":"/api-reference/secure/get-prices"},{"title":"Get Inventory (Self-Trade)","href":"/api-reference/secure/inventory"},{"title":"Sell Items (Self-Trade)","description":"Merchant-side deposit: AssetPay receives the skins by Steam trade offer and credits the merchant wallet, the server-to-server equivalent of a client deposit.","href":"/api-reference/secure/sell"},{"title":"Buy Items (Self-Trade)","href":"/api-reference/secure/buy"},{"title":"Quick Buy (Self-Trade)","description":"Merchant-side quick buy: pass an itemId, a per-unit price ceiling and an amount, and AssetPay buys the cheapest listings up to it. Available for CS2 and Rust.","href":"/api-reference/secure/buy-quick"},{"title":"Cancel Buy (Self-Trade)","href":"/api-reference/secure/cancel-buy"},{"title":"Cancel Buy Item (Self-Trade)","href":"/api-reference/secure/cancel-buy-item"},{"title":"Browse Market (Self-Trade)","href":"/api-reference/secure/get-market"},{"title":"Get Item Listings (Self-Trade)","href":"/api-reference/secure/get-item-listings"},{"title":"List Self-Trades","href":"/api-reference/secure/get-trades"},{"title":"Get Self-Trade(s)","href":"/api-reference/secure/get-trade"},{"title":"Get Crypto Deposit Address","href":"/api-reference/secure/crypto-deposit-address"},{"title":"List Crypto Deposits","href":"/api-reference/secure/crypto-deposits"},{"title":"Crypto Withdraw","href":"/api-reference/secure/crypto-withdraw"},{"title":"List Crypto Withdrawals","href":"/api-reference/secure/crypto-withdrawals"}]},{"group":"Verification","pages":[{"title":"Start Verification","href":"/api-reference/verification/start"},{"title":"Verification Status","href":"/api-reference/verification/status"},{"title":"Link Verified Identity","href":"/api-reference/verification/link"}]},{"group":"Wallet","pages":[{"title":"Get Wallet Balance","href":"/api-reference/wallet/get-balance"}]},{"group":"Ledger","pages":[{"title":"List Wallet Transactions","href":"/api-reference/ledger/list-transactions"},{"title":"Get Wallet Transaction","href":"/api-reference/ledger/get-transaction"}]}]}]},"basePath":"","title":"Buy Items (Self-Trade) - AssetPay","buildId":"dpl_FGqRJUoJWfds4SqdfFGJ2v1vVNSs","deploymentId":"dpl_FGqRJUoJWfds4SqdfFGJ2v1vVNSs","dynamics":[],"chunks":[]}