Fetching Inventory
Query Parameters
Understanding the Response
Pricing Fields
Each item can have two price fields, and they mean different things:marketPriceis the market reference price in USD. This is not what the user gets paid. Use it to show market value context in your UI. It reflects live multi-marketplace data — order books, liquidity and realized sales aggregated by cs2.sh — run through AssetPay’s fair-value model.offer.priceis the actual amount in USD the user will receive for depositing this item. This is the number that matters for your balance calculations.offer.referenceis an opaque marketplace identifier. AssetPay uses it internally; you don’t need to pass it back.
The offer.accepted Field
Items where offer.accepted is true have a valid offer and can be deposited. Items where it’s false or the offer is missing entirely don’t have an active buyer and can’t be deposited right now.
Collateral
Thecollateral field in the response tells you how much instant credit is available for this user if you’re using instant deposits. See the Deposits guide for details.
Caching Behavior
Inventory results are cached for 15 minutes on our side. TheupdatedAt field tells you when the cache was last refreshed.
Use refresh=true only when:
- Loading the inventory for the first time in a session
- The user explicitly asks to refresh
Rust Items
Rust items work the same way, but they can be stackable. When an item has anamount field greater than 1, it means the user has multiple copies of the same item. The offer.maxAmount field tells you how many can be deposited in a single trade.
Filtering and Sorting
You can combine query parameters to build a search UI:count field in the response reflects the total matching items (not just the current page), so you can build pagination controls.