Get received offers
{userid} variant)
SteamID of user (admin only)
- The buyer has insufficient balance (status →
-1) - The offer has expired (status →
-2) - The item is no longer owned by the seller or not on sale (status →
-3)
Offer type
| Field | Type | Description |
|---|---|---|
id | integer | Offer ID |
from | string | Buyer SteamID |
to | string | Seller SteamID |
status | integer | Offer status |
time | integer | Expiration timestamp |
price | integer | Offered price in cents |
read | integer | Whether the offer has been read |
createdAt | integer | Creation timestamp |
backpackid | integer | Backpack entry ID |
user | object | Buyer info (username, avatar) |
item | object | Item details (see below) |
Offer item type
| Field | Type | Description |
|---|---|---|
name | string | Item name |
effect | string | Unusual effect |
url | string | Item URL slug |
game | integer | Game App ID |
quality | string | Item quality |
image | string | Item image URL |
type | string | Item type |
craftable | integer | Craftable status |
assetId | string | Asset ID |
wear | float|null | Wear value |
sheen | string | Killstreak sheen |
killstreaker | string | Killstreaker |
spell | string | Spells |
parts | string | Strange parts |
state | integer | Item state |
Offer statuses
| Status | Description |
|---|---|
0 | Active / Pending |
1 | Accepted |
2 | Declined by seller |
3 | Removed by buyer |
-1 | Auto-cancelled: buyer insufficient balance |
-2 | Auto-cancelled: offer expired |
-3 | Auto-cancelled: item unavailable |
Get my offers
{userid} variant)
Returns all active offers made by the user. Same response structure as received offers, with user containing the seller’s info instead.
Create offer
Request body
Asset ID of the item (backpack assetId)
Offered price in cents (must be ≤ current listing price)
Validation rules
- Maximum 10 active offers per user (configurable)
- Offer price must be ≤ current listing price
- Cannot offer on your own items
- Cannot create duplicate offers on the same item
- If a buy order exists at a higher price, the offer is rejected
- User must have sufficient balance
- Offers expire after 24 hours (configurable)
Response
Decline offer
Offer ID
Remove offer
Offer ID
Accept offer
- Buyer’s balance is deducted by the offer price
- Item ownership is transferred to the buyer (state set to
0) - Seller receives 95% of the offer price (5% marketplace fee)
- Transaction is recorded in history for both parties
- Daily stats are updated
Offer ID