Help Contact
enEN
ENEN DEDE ESES PLPL PT-BRPT-BR PT-PTPT-PT RURU TRTR VIVI ZH-CNZH-CN
Connect Website
Help Contact

API

General
General Information Generate a signature
Deposits
Getting started Create a deposit Create a deposit without redirection (iframe) Deposit notification (webhook) Check an deposit status Get a list of deposits Deposits without 8-day waiting period (Steam Trade Protection) Deposit approval with 8-day hold Get failed webhook notifications
Deposits without SkinsBack UI
Create a deposit without SkinsBack UI (API) Get user's inventory
Skins Withdraw
Skins price list Skins search Buy skin Bulk buy skins Get skin purchase info Skin purchase history
Other
Get the project balance Get the history of withdrawals and deposits of money Get currencies and rates Server status Events real-time: websockets Events real-time: webhooks

Creating a deposit without SkinsBack UI (API)

If you don't want to redirect the user to SkinsBack, then you can implement your own user interface to select game items and then transfer them to us. Thus, interaction will only occur through the SkinsBack API.

Flow

1. Load the user's inventory using API method for getting user's inventory and display it in your interface
2. Create a deposit by first transferring there the identifiers of game items from the user’s inventory (item_asset_ids)
3. Receive a webhook notification about the payment status at the Result URL specified in the project settings or use the API method for checking the deposit status


The required parameters are highlighted in blue.

Send a POST request to API Endpoint with the following parameters:

method
string
create_from_user_inventory
game
string
'cs2', 'dota2', 'rust'
steam_id
string
User Steam ID
trade_token
string
'token' value from the user's Trade URL
item_asset_ids
array<string>
An array consisting of the asset_id of game items obtained from the API method for getting the user's inventory
order_id
string
Unique Order ID in your system
currency
string
Currency (optional)
result_url
string
Optional Result URL that will be used
instead of the one specified in the project settings
custom_multiplier
double
Custom price multiplier (overrides value from project settings). Min value: 0.5, max: 2
custom_currency
string
Custom currency (required with custom_currency_rate). You can pass the name of an custom currency and specify its rate. Skin prices will be displayed in this currency. Maximum 4 characters.
custom_currency_rate
double
The rate of an arbitrary currency (required with custom_currency). Min value: 0.1

Response from the server:

If successful, a JSON object with the following contents will be sent in response:

transaction_id
int
Transaction ID in our system
sum
float
Deposit amount in USD currency
local_sum
float
Deposit amount in currency 'currency'
local_sum_multiplied
float
Deposit amount with a multiplier from the project settings, which was made by the user in currency 'currency'
local_currency
string
Currency in which local_sum and local_sum_multiplied values are provided
trade_offer_id
string
Steam Trade Offer ID (you can redirect the user to the trade confirmation window: https://steamcommunity.com/tradeoffer/XXXX/)
trade_offer_expiry_at
datetime
Trade offer expiration time
bot_steam_id
string
Steam ID of the bot from which the trade offer was sent
bot_name
string
Name of the bot from which the trade offer was sent

Successful response example:

{
    "status": "success",
    "data": {
        "transaction_id": 116749989,
        "sum": 1.31,
        "local_sum": 121.5,
        "local_sum_multiplied": 243,
        "local_currency": "rub",
        "trade_offer_id": "6828703963",
        "trade_offer_expiry_at": "2024-03-12T10:00:34.000000Z",
        "bot_steam_id": "76561199390042107",
        "bot_name": "Dragonfly"
    }
}

List of possible errors:

1
invalid_game
Invalid game specified
2
invalid_steam_id
Invalid steam_id. Example of Steam ID: 76561198827262007
3
invalid_trade_token
Invalid trade_token. Request a new Trade URL from the user
4
invalid_item_asset_ids
The item_asset_ids value was passed incorrectly
5
invalid_order_id
The order_id value was passed incorrectly
6
invalid_result_url
Invalid URL specified
7
invalid_currency
Invalid currency specified
8
order_id_already_exists
The specified order_id has already been used to create a deposit
9
deposit_amount_less_minimum
The amount of selected skins is less than the minimum
10
inventory_is_outdated
Inventory is out of date (4 hours). Load a new inventory for the user
11
items_overstock
Some of these items are in overstock. Load a new inventory for the user
12
user_not_tradable
The user has restrictions in the trade system
13
some_item_not_found
One (or more) of the game items was not found in the user's inventory. Load a new inventory for the user
14
one_of_selected_items_is_not_acceptable
One (or more) of the specified item_asset_ids cannot be accepted by us. Check that item_asset_ids are correct and try loading a new inventory for the user again
15
internal_error
Internal error. try again
16
invalid_custom_currency
Invalid custom currency specified
17
invalid_custom_currency_rate
Invalid custom currency rate specified
18
invalid_custom_multiplier
Invalid custom multiplier specified
standard errors:
-1
please_use_post_method
Need to use the POST method
-2
invalid_shopid
Project Client ID not found in the system
-3
invalid_signature
Invalid signature
-4
shop_not_active
Project inactive
-5
invalid_method
Invalid API method
-7
request_limit_reached
API requests limit reached (500/per minute)
-8
invalid_ip_address
Specify IP address in merchant panel
-9
under_maintenance
Site under maintenance
-10
invalid_client_secret
Invalid X-CLIENT-SECRET header

Error response example:

{
    "status": "error",
    "error_code": 7,
    "error_message": "order_id_already_exists"
}
© 2025 SkinsBack. All right reserved.
Help Contact Service Agreement