Skip to content
SkinsNodeDocumentation
Create deposit
Docs/Deposits

Create deposit

Submit selected quote item IDs and accept their exact total credit. The receiving client account is determined by your credentials, not a body field.

POST/v1/deposits/offers

Authenticate with client credentials. All amounts are integer USD cents.

Request body

FieldTypeDescription
externalIdstringRequired. Your stable deposit ID, unique within your client account (1-128 characters).
quoteIdUUIDRequired. A ready, unexpired quote belonging to your client account.
itemsarrayRequired. 1-100 unique objects containing itemId from the quote. One unit per asset.
expectedCreditAmountCentsintegerRequired. Positive sum of selected item credits, in USD cents.
webhookUrlstringRequired. Your public HTTPS endpoint for signed deposit.updated events.

Request

cURL
curl -X POST 'https://api.skinsnode.com/v1/deposits/offers' \
  -H 'x-client-id: client_live' \
  -H 'x-client-secret: sk_live_replace_me' \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: 019e0000-0000-7000-8000-000000000011' \
  -d '{
  "externalId": "deposit_42",
  "quoteId": "019e0000-0000-7000-8000-000000000001",
  "items": [
    {
      "itemId": "019e0000-0000-7000-8000-000000000002"
    }
  ],
  "expectedCreditAmountCents": 3991,
  "webhookUrl": "https://merchant.example/webhooks/deposits"
}'

Response 202 Accepted

JSON response
{
  "transactionId": "019e0000-0000-7000-8000-000000000003",
  "externalId": "deposit_42",
  "quoteId": "019e0000-0000-7000-8000-000000000001",
  "status": "new",
  "currency": "USD",
  "creditAmountCents": 3991,
  "creditStatus": "not_credited",
  "walletTransactionId": null,
  "holdReleaseAt": null,
  "steamTradeOfferId": null,
  "botSteamId": null,
  "items": [
    {
      "itemId": "019e0000-0000-7000-8000-000000000002",
      "inventoryAssetId": "53273940796",
      "marketHashName": "AK-47 | Aquamarine Revenge (Field-Tested)",
      "phase": null,
      "amount": 1,
      "imageUrl": null,
      "sellable": true,
      "creditAmountCents": 3991,
      "unavailableReason": null
    }
  ],
  "failureCode": null,
  "revision": 1,
  "updatedAt": "2026-10-03T12:00:00Z"
}

Integration rules

Select 1-100 unique items, one unit per asset. One deposit creates one all-or-nothing Steam trade. A 202 response means processing was accepted, not that Steam accepted the trade or your balance was credited.

Examples use illustrative IDs and dates. Use the current quote returned for your user, not these example values.

Deposit errors ยท Settlement rules