Become a partner
Access is granted by Mannco.store, not requested through the API. To apply, contact Mannco.store support through mannco.store or Discord with:- The SteamID64 of the Mannco account your website will authenticate as.
- Your website URL and a short description of your integration.
How it differs from instant sell
You’re responsible for paying your user. Mannco.store credits the sale to your partner account only.
Endpoints
Base URL:
https://api.mannco.store. Prices are integer cents.
Authentication
Send your partner account’s JWT asAuthorization: Bearer <token>. None of these routes require 2FA or a CSRF token.
1. Quote the user’s inventory
CallGET /deposit/instantSell/thirdparty/{game}/{userid} with the user’s SteamID64. The response has the same shape as GET /deposit/instantSell/{game}. This call doesn’t create a deposit and doesn’t move items.
Response
item_id can appear on several rows, so quote each row on its own. Rows with disabled have depositkey: "" and can’t be sold.
The user’s Steam inventory is cached for 5 minutes and there is no
force option. Prices are recalculated on every call. A private inventory, or Steam being unavailable with no cached snapshot, returns "informations": [] instead of an error. Ask the user to make their inventory public and try again.How prices are set
Prices come from the buy order book for each item, best price first. When buy orders don’t cover the whole stack, a house price may apply to the remainder:
The 1¢ TF2 and CS:GO house price isn’t offered when another user already has a listing at 1¢ or less.
2. Create the sale
CallPOST /deposit/trade/instant/thirdparty with the selected assets and the user who receives the offer. The body is the same as POST /deposit/trade/instant, plus steamid and tradeurl.
string
required
SteamID64 of the user who receives the trade offer. Use the same
userid you quoted. steam_id is accepted as an alias.string
required
That user’s Steam trade URL, in the form
https://steamcommunity.com/tradeoffer/new/?partner=<digits>&token=<token>. The partner value must be the account id of steamid. trade_url is accepted as an alias.object
required
Map of
assetId → price in cents. Use the exact instant_sell_price from each asset’s row.object
required
Map of
assetId → depositkey, copied from each asset’s row. Keys are checked against steamid, so keys quoted for a different user are rejected.string
required
Must be
balance. The proceeds are credited to the Mannco balance of your partner account. No other cashout method is available for partner instant sell.integer
default:"440"
440, 730, 570, 252490, or 753.Response
content.id. It’s the deposit id you use to track the sale. Remove any skipped_highstock assets from what you show the user.
All other errors (
missing prices parameter, invalid deposit key…, stock limits…) match POST /deposit/trade/instant, except that content is a plain string.
3. Follow the trade offer
PollGET /deposit/tradeStatus/{tradeid} with content.id from step 2. Don’t pass a trades.id or a Steam offer id.
trade_id is null and there’s no nested trade. Keep polling. Once the offer exists, trade.offerid is the Steam offer id and trade.status tracks it.
4. Check which items sold
CallGET /deposit/instantSell/thirdparty/status/{depositid} to see the outcome of each asset. Use it to pay your user for what actually sold.
Response
seller_cents is set only on converted lines. converted_cents is the total of those proceeds. For CS:GO, pending_balance is the part still held by Steam Trade Protection. It isn’t added on top of converted_cents.
Seller fee
Your account receives the listed price minus a 5% fee, rounded in your favor, with a minimum fee of 1¢. A 1¢ item keeps its full cent.seller-receives.js
Full example
1
Quote the inventory
Call
GET /deposit/instantSell/thirdparty/{game}/{userid} with your user’s SteamID64.2
Let your user choose
Show rows without
disabled. Display instant_sell_price, or what your user will be paid.3
Create the sale
Call
POST /deposit/trade/instant/thirdparty with the same steamid, the user’s trade URL, and each asset’s own price and key.4
Tell your user to accept the offer
Poll
GET /deposit/tradeStatus/{tradeid} until trade.offerid is set, then ask your user to accept the Steam offer.5
Pay your user
Call
GET /deposit/instantSell/thirdparty/status/{depositid} and pay for the converted lines.partner-instant-sell.js
Next steps
- Instant sell guide for the full POST error list.
- Authentication to get your partner JWT.