Appearance
Integration without UI (API Flow)
Full control over the deposit experience. Fetch inventory, display it on your site, and submit deposits directly.
Flow Overview
Your Platform Skinslink
───────────── ─────────
│ │
│ 1. POST /merchant/inventory │
│ ──────────────────────────────► │
│ │
│ { items[], total, sum } │
│ ◄────────────────────────────── │
│ │
│ Display items to user, │
│ user selects items │
│ │
│ 2. POST /merchant/create-deposit
│ ──────────────────────────────► │
│ │
│ { id, status, trade offer } │
│ ◄────────────────────────────── │
│ │
│ 3. Webhook: trade status │
│ ◄────────────────────────────── │Step 1: Fetch User's Inventory
You need the user's Steam trade URL components: partner (trade partner ID) and token (trade token).
Parsing Steam Trade URLs
A Steam trade URL looks like:
https://steamcommunity.com/tradeoffer/new/?partner=123456789&token=AbCdEfGhExtract partner and token from the query parameters.
Call Get Inventory with the user's game, partner ID, and trade token. The response contains a list of tradeable items with real-time pricing.
Display the items on your site and let the user select which ones to deposit.
WARNING
Inventory fetching involves real-time pricing and may take 1–4 seconds. Prices are point-in-time and may change between inventory fetch and deposit creation.
Step 2: Create Deposit
After the user selects items, call Create Deposit with the selected asset_ids from the inventory response.
The response includes trade offer details (bot_name, bot_steam_id, trade_offer_id, trade_offer_expiry_at). Display this information so the user can accept the trade in Steam.
Step 3: User Accepts Trade Offer
The user opens Steam and accepts the trade offer from the Skinslink bot. If the offer is not accepted before trade_offer_expiry_at, it is automatically canceled.
Step 4: Track Deposit Status
You can track the deposit in two ways:
Option A: Webhooks (recommended)
Listen for status updates via webhooks — Skinslink will POST to your result_url or merchant webhook URL when the trade status changes.
→ See Webhooks for payload format and setup.
Option B: Poll the status endpoint
Use Deposit Status to check the current state of the deposit.
Deposit Status Page
Each deposit has a hosted status page at https://skinslink.com/deposit/{tx_id} that you can redirect users to. This page shows the current trade status, bot info, and trade offer details — useful if you don't want to build your own status UI.
