Pick a csgoroll account and paste a trade URL. The first tradable item from the account's Steam inventory will be sent (no mobile confirmation).
Inventory
Loading accounts...
All accounts
Profit
Realized profit is based on ItemPosition.sell_price - buy_price. Net applies site fee multipliers (MarketCSGO uses an extra ~6% here because sell_price is already reduced by ~5% at the source).
Bankroll deployed across all bots
VPS stats
CPU / load / RAM from the server (best-effort inside Docker).
Settings
Global pricing multipliers and strategy for inventory resale.
GET /inventory returns items when on
POST /buy accepts purchases when on
MarketCSGO
Global MarketCSGO-only settings.
Status: unknown
Sends unlocked balance_money to receiver when stats refresh runs.
Status: unknown
Waxpeer
Global Waxpeer pricing multipliers (relative to MarketCSGO min/max prices), fee rates for profit calculation, and transfer recipient.
1.0 = same as MarketCSGO min
1.0 = same as MarketCSGO max
0.96 = 4% sale fee
0.99 = 1% withdraw fee
Auto-transfers Waxpeer balance to this SteamID for all accounts.
CSGOEmpire Settings
Price multiplier and fee settings for CSGOEmpire listing prices.
1.63 = convert MarketCSGO max price to Empire coins
1.0 = no fee deduction
SkinDeck Settings
Global trader API key, price discount, and webhook secret for SkinDeck.
Status: not set
Status: not set
0.91 = MarketCSGO min_price -9%
Status: not set
1.07 = buy only if resell ≥7% profit
1.07 = buy only if resell ≥7% profit
CS2DT Settings
Global app-key and proxy for CS2DT marketplace API.
Status: not set
Status: not set
Skinplace Settings
Merchant API key (Bearer), secret key (SHA256 signature), public key, proxy, and price threshold for Skinplace.
Status: not set
Status: not set
Status: not set
Status: not set
0.90 = log if skinplace price >= 90% of MarketCSGO min
Auto pricer (MarketCSGO)
Prices tradable (no trade lock) inventory items across all accounts every ~3h, deduped by market_hash_name.
Uses global env vars: STEAM_PANEL_AUTO_PRICER_MARKETCSGO_API_KEY and optional proxy/UA.
Emergency:
Pauses seller tasks immediately (no external requests).
CS2DT Manual List (test)
List a single item on CS2DT at a specific price. Does NOT affect other marketplaces.
Profitable items JSON (results_market_buy.json)
Upload your latest results_market_buy.json so the strategy can place buy orders.
This writes the shared file mounted into the containers.
Auto buyer (CSFloat buy orders)
Daily buy-order refresh across enabled accounts. Uses global owned-counts from inventory cache and allocates unique items per account.
n/a
High-velocity override (MarketCSGO): if avg daily sales in last 7d is above threshold AND final_profit >= threshold,
desired qty is forced to the configured value (orders are still placed with qty <= 2).
Market buy pipeline (parser)
Runs market_buy_pipeline.py to generate results_market_buy.json.
Configure API keys/proxies here; Auto buyer uses the generated JSON.
Auto buyer LOW (cheap items, $3-$15)
Separate auto-buyer for accounts with buyer_type = low. Uses its own pipeline, API keys, and proxies.
n/a
Market buy pipeline LOW (parser, $3-$15)
Separate pipeline for the low-price lane. Generates results_market_buy_low.json.
CS.Money Parser HIGH
Scans main pipeline items on cs.money. Buyer is set per-account in Accounts tab.
n/a
CS.Money Parser LOW
Scans low pipeline items on cs.money. Buyer is set per-account in Accounts tab.
n/a
SkinSwap Parser HIGH
Scans SkinSwap inventory for items cheaper than pipeline max_buy_price (high lane, hourly).
n/a
SkinSwap Parser LOW
Scans SkinSwap inventory for items cheaper than pipeline max_buy_price (low lane, hourly).
n/a
SkinSwap Buyer HIGH
Buys matched items from SkinSwap parser results (high lane). Enable buyer per-account in Accounts tab.
n/a
SkinSwap Buyer LOW
Buys matched items from SkinSwap parser results (low lane). Enable buyer per-account in Accounts tab.
n/a
SkinsBack — Project credentials
SkinsBack is a project-level integration: ONE Client ID + Client Secret + balance shared across ALL accounts.
Per-account toggles + budget caps live in the Accounts tab.
SkinsBack buyer HIGH
Reads matches from the market_buy_pipeline HIGH lane and buys items where
SkinsBack price ≤ max_buy_price and final_profit ≥ threshold.
Runs every interval minutes; per-account budget caps are enforced.
n/a
SkinsBack buyer LOW
Same as HIGH but reads from market_buy_pipeline_low for cheap items.
n/a
Logs
Loading accounts...
All accounts
Pipeline vs Inventory
Trade History
Trade Time
Offer ID
Trade ID
Dir
Account
Marketplace
Offer State
Trade Status
Items
CSGORoll Trade History
Parser Status
Loading...
Rust Price Index
CS.Deals → TradeIt Arbitrage
Items where TradeIt wants ≥2 more stock. % = TradeIt deposit / CS.Deals buy. Higher % = more profitable.
TradeIt Buy → CS.Deals Sell
Buy on TradeIt, sell on CS.Deals. % = CS.Deals sell / TradeIt buy. Higher = more profitable. Items with ≥3 sales in 7d.
CS.Deals Balance
Click Refresh to load
CS.Deals Inventory
Use buttons to withdraw items or accept pending Steam trade offers.
Rust Inventory (appid 252490)
Set a min price to list an item on SkinDeck (when SkinDeck is enabled for the account). Leave blank to unlist. Sold or missing items are auto-removed on the next sync.
Loading...
Rust Stack
--
Each tile shows the last time the loop reported in. OK = fresh, STALE = hasn't ticked within its expected window, ERROR = last run failed, OFF = enable flag disabled. Click a tile to flip its enable flag.
Loading status...
TradeIt Parser
CS.Deals Parser
CS.Deals Sale History
Fetches sale history from CS.Deals to compute sell prices. Reuses CS.Deals proxy. Items priced more than Max Overprice % above avg sale price are filtered from CS.Deals → TradeIt comparison.
CS.Deals Account
—
—
CS.Deals marketplace account. API key and TOTP secret for authenticated operations (buy, sell, reprice, withdraw). Auto-buyer: Min Profit % = deposit/buy*100 threshold, Max Overprice % = max above avg sale price, Buy Interval = loop cadence.
Newest Items Buyer
TradeIt Deposit
TradeIt.gg deposit after CS.Deals purchase. Paste cookies from browser. Min Deposit % = TradeIt deposit price / CS.Deals buy price * 100 threshold. Auto-Deposit: automatically deposit items on TradeIt after auto-buyer withdraw.
TradeIt Buyer
Buy items from TradeIt store → sell on CS.Deals. Max Buy % = csdeals_sell / tradeit_buy * 100 (higher = more profit). Separate proxy pool to avoid rate limits on the price parser. Test: list item on CS.Deals via ListItems/v2 using asset ID.
DMarket Credentials
Two keypairs: Main signs trading calls (buy/deposit/withdraw/list/reprice). History signs read-only calls (sales-history, aggregated-prices) from a separate blank account so the trading account isn't rate-limited by parsing. Both are stored encrypted at rest.
DMarket Target Buyer (autorefresh)
In-panel port of dmarket_rust_autorefresh. Places, updates, and removes
buy targets across all profitable Rust items every 1h (full scan) plus a 15min
targets-only re-check. Stock-gated to ≤ 2 of any title; overpay-protected (lowers
target when the next-best competitor is >1.5% cheaper). Self-gates on this flag
+ a configured DMarket main keypair.
DMarket Seller (repricer)
In-panel port of dmarket_rust_lister. Every cycle: fetches our DMarket
on-site inventory, lists not-yet-listed items at target × (1 + Target Markup %)
capped at min_listing (uses the same parser-fed price cache as the
deposit scanner — single source of truth), then refetches active offers and reprices
any whose price drifts ≥ $0.01 from the target. Self-gates on this flag + a
configured DMarket main keypair.
DMarket Withdraw Router
Periodically scans our DMarket on-site inventory (items the external lister hasn't
listed yet, or that were listed but we want to relocate). For each item compares
DMarket net (effective_sell × 0.95) vs CS.Deals / TradeIt net. If
other_net > dmarket_net × (relocate_threshold/100), withdraws the item
via /exchange/v1/withdraw-assets. The 105% default means we only relocate
when CS.Deals or TradeIt would pay 5%+ more after fees — safely above the round-trip
cost (Steam trade friction + listing latency) so the loop can never flap items
back and forth at a loss.
DMarket Auto-Deposit
Orphan scanner: deposits ItemPositions with dest_site=dmarket via /deposit-assets, accepts the bot's Steam offer, then lists. Min Deposit % is applied ONLY to CS.Deals-sourced positions (real USD buy price); TradeIt-sourced positions bypass the threshold because buy_price is denominated in TradeIt credit (~80% of USD), so the ratio would be meaningless. Default 105% means dmarket_effective_sell ≥ 1.05 × csdeals_buy_price.
DMarket Withdraw Router
Scans our DMarket on-site inventory; if any item pays more on CS.Deals or TradeIt, withdraws via /exchange/v1/withdraw-assets so the auto-deposit scanners can route it.
DMarket Sales History & Routing
Effective DMarket sell price = min(target × (1 + markup%), min listing). Target = highest active buy order; min listing = sell-side floor. With 6% markup we list 6% above the top buyer, capped by the floor. Tiebreaker %: when two destinations are within X% on net price, the one with higher 7d sales volume wins.