What is CSGOLiquid?
CSGOLiquid is the first perpetual futures venue built exclusively for CS2 skin price exposure on Solana. Trade Karambits, Dragon Lores, glove indexes, and case markets with up to 25x leverage — collateralized in Circle USDC on mainnet-beta.
We are not a reskin of crypto perps. Rarity tiers, wear conditions, doppler phases, Buff-linked oracles, and skin-native indexes are core to the product — not afterthoughts.
The protocol program, liquidity pool, margin vaults, and full market oracle set are deployed and initialized on Solana mainnet. Connect Phantom, deposit USDC, and trade.
Contracts & verification
Verify every address on Solana mainnet. This is production — not a demo environment.
| Token contract (CA) | BjQS8PH1v82fwvtQ5CZSv3EmeU1YoCzYV7atoxT4pump |
| Perps program ID | BPdRkugSPGdKL24nudyXfhQHXmWbwG1Ne5nKEVgQjTwQ |
| USDC collateral mint | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| Cluster | mainnet-beta |
Production status
CSGOLiquid is live and operational. The table below reflects what ships in production today.
| Capability | Status |
|---|---|
| Solana mainnet deployment | ✅ Live |
| Protocol + LP pool initialized | ✅ Live |
| 39 perpetual markets + oracles | ✅ Live |
| Phantom wallet + real USDC | ✅ Live |
| On-chain open / close positions | ✅ Live |
| LP pool deposits (USDC) | ✅ Live |
| Keeper oracle + live marks | ✅ Live |
| Portfolio / leaderboard / history | ✅ Live |
| Skin lending preview (browse + Steam match) | ✅ Preview |
| Skin lending requests (token-gated desk) | 🔜 Launching |
| P2P marketplace (USDC escrow + Steam trade) | 🔜 Pilot |
| Railway production hosting | ✅ Live |
| Historical candle archive | 🔜 Expanding |
| Full order book depth feed | 🔜 Expanding |
Live verification
Anyone can verify the stack is running. Click each endpoint or compare on-chain program ID.
Architecture
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Frontend │────▶│ Keeper API │────▶│ cs2.sh API │
│ Next.js │ │ Oracle+EWMA │ │ Buff163 agg │
└──────┬──────┘ └──────┬───────┘ └─────────────┘
│ │
│ ▼
│ ┌──────────────┐
│ │ PostgreSQL │ (optional)
│ │ prices/trades│
│ └──────────────┘
▼
┌─────────────┐
│ Solana │
│ csgoliquid │ mainnet program
│ program │
└─────────────┘- Frontend — Trading terminal, portfolio, docs. Proxies
/api/keeperto the keeper. - Keeper — Polls external prices, applies adaptive EWMA, exposes REST API, records trades.
- On-chain program — Collateral vault, positions, liquidations, LP (Anchor).
Oracle & price sources
Index and skin prices are derived from real CS2 market data, not invented numbers.
- Primary feed: cs2.sh— aggregates Buff163 / CSFloat ask prices by
market_hash_name. - Smoothing: Keeper applies adaptive EWMA to reduce noise and manipulation spikes. Alpha adapts to deviation from the previous EWMA.
- Index markets: Weighted basket of underlying skins (see
packages/shared/src/markets.ts). - Images & metadata: ByMykel CSGO-API+ Steam CDN renders (phase-aware dopplers).
- Update cadence: Oracle loop ~5 minutes (configurable via
PRICE_INTERVAL_MS).
Each market card shows oracle confidence (EWMA stability) and last update age. Funding rate defaults to 0.01% / 8h until premium-index funding is fully on-chain.
Markets
39 configured perpetuals across five sidebar categories:
- • Knives (Doppler phases, Fade, Gamma…)
- • Rifles (Fire Serpent, Howl, Vulcan…)
- • Snipers (Dragon Lore, Gungnir, Asiimov…)
- • Cases (Kilowatt, Revolution, Dreams…)
- • Indexes (Knife, Doppler, Glove, AWP, CS2-100…)
Rarity colors follow CS:GO tiers — industrial (blue), mil-spec, restricted (purple), classified (pink), covert (red), contraband (gold). Wear tiers map to float ranges (FN 0.00–0.07, MW 0.07–0.15, etc.).
Trading rules
| Max leverage | 25x |
| Open fee | 5% of notional |
| Close fee | 5% of notional |
| Profit cap | 300% ROE |
| Min position | $1 USDC collateral |
| Max open positions | 5 per account |
| Margin mode | Isolated |
| Funding interval | Every 8 hours (00:00, 08:00, 16:00 UTC) |
| Liquidation | When mark crosses isolated liq price |
Liquidation (isolated)
Estimated liquidation price shown in the trade ticket: for longs, liq ≈ entry × (1 − 0.95/leverage); for shorts, liq ≈ entry × (1 + 0.95/leverage). Maintenance margin assumptions are documented in the Anchor program. Always check the ticket preview before confirming.
Phantom wallet (mainnet)
Connect Phantom on mainnet (disable Testnet Mode). Deposit real USDC to your margin account on-chain, then sign open/close transactions.
On-chain program
The CSGOLiquid perpetuals program is deployed on Solana mainnet-beta with protocol state, liquidity pool, USDC vaults, and all market oracles initialized. Transactions are signed in Phantom and settled on-chain.
- Token CA BjQS8PH1v82fwvtQ5CZSv3EmeU1YoCzYV7atoxT4pump
- Program ID BPdRkugSPGdKL24nudyXfhQHXmWbwG1Ne5nKEVgQjTwQ
- USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
- Cluster mainnet-beta
Instructions include: initialize market, deposit collateral, open/close position, liquidate, add margin, LP deposit/withdraw, referral hooks. The trading UI signs these via Phantom.
Skin lending desk
CSGOLiquid offers skin-backed USDC lending — borrow against CS2 inventory you already own, priced off the same oracle feeds that power perpetuals. v1 is a manual escrow desk (real skins in verified Steam custody, USDC disbursed on Solana).
The full borrower experience is live in preview mode until the scheduled launch time (2:00 PM CEST). Connect wallet, link Steam, match inventory, and preview borrow limits. Loan requests unlock automatically at launch for wallets holding qualifying $CsLiq.
Borrower flow
- Connect Phantom (Solana mainnet).
- Link Steam via OpenID — ties your inventory to your wallet.
- Set Steam inventory to Public to preview matched collateral.
- Pick an accepted skin, adjust loan amount (LTV slider + desk liquidity cap).
- At launch: hold qualifying $CsLiq, accept terms, submit loan request.
- Send skin to escrow via Steam trade → submit trade offer ID.
- Desk verifies custody → USDC sent to your wallet. Repay USDC → skin returned via Steam trade URL.
CsLiq token gate (at launch)
Perps fee discount and lending access use different thresholds. Lending requires more $CsLiq because the desk deploys real USDC and manual ops capacity is limited at pilot scale.
| CsLiq held | Tier | Perk | Max per loan |
|---|---|---|---|
| 100k+ | Perps holder | 10% fee discount on perps | — |
| 250k+ | Borrower | Submit loan requests | $500 |
| 1M+ | Priority | Queue priority | $1,000 |
| 5M+ | Desk whale | Highest pilot cap | $2,500 |
Desk rules (pilot)
| Desk liquidity cap | $5,000 USDC total deployed |
| Collateral borrow limit | Up to 68.5% of oracle market value (per skin) |
| Your loan cap | Lesser of skin LTV limit, tier max, and available desk liquidity |
| Active loans | 1 per wallet |
| Request rate | 1 per 24 hours per wallet |
| Token hold policy | 72h minimum hold before first request (at launch) |
| Liquidation LTV | 85% — escrowed skin may be sold to cover loan |
| Settlement | Manual — not an automated on-chain lending pool |
Oracle pricing uses the same external CS2 market data as perps (cs2.sh / Buff-linked feeds). Collateral matching reads your public Steam inventory (appid 730) and matches market_hash_name against accepted lending markets.
P2P marketplace
Buy and sell real CS2 skins peer-to-peer with USDC on Solana. CSGOLiquid holds buyer payment in escrow until a direct Steam trade is verified — skins move on Steam, not through our custody bot (v1).
How it works
- Seller lists a skin from public Steam inventory (100k+ CsLiq to list).
- Buyer pays price + 2.5% fee in USDC to marketplace escrow.
- Seller sends a Steam trade offer with the exact listed asset to the buyer.
- Keeper verifies trade completion → operator releases USDC to seller.
CsLiq holders get a fee discount. Max listing $2,500 at pilot. Payment window 30 min; trade window 48h after payment. Disputes handled by the operator desk.
Fee reinvestment
Each sale charges a 2.5% buyer fee. Of that fee: 40% is allocated to the on-chain perps LP pool, 40% to the lending desk (more USDC available for skin-backed loans), and 20% to treasury/ops. Marketplace volume directly grows liquidity for both perps traders and borrowers.
CsLiq token
CsLiq is the community token on Pump.fun. It unlocks platform perks — not governance of custodied skins or oracle marks.
- 100k+ CsLiq — perps trading fee discount (see Rewards page).
- 250k+ CsLiq — skin lending desk access at launch (preview open now).
- 100k+ CsLiq — list skins on the P2P marketplace (pilot).
- Higher tiers (1M / 5M) — larger per-loan caps and operator queue priority during the pilot.
Keeper API reference
GET https://keeper-production-aefd.up.railway.app/ping
GET https://keeper-production-aefd.up.railway.app/health → { ok, db, oracle, timestamp }
GET https://keeper-production-aefd.up.railway.app/markets/live → { markets[], timestamp }
GET https://keeper-production-aefd.up.railway.app/markets/:id → LiveMarket
GET https://keeper-production-aefd.up.railway.app/lending/desk/stats → desk liquidity, previewMode
GET https://keeper-production-aefd.up.railway.app/lending/eligibility?user=<pubkey> → CsLiq tier + max loan
GET https://keeper-production-aefd.up.railway.app/profile/steam?user=<pubkey>
GET https://keeper-production-aefd.up.railway.app/profile/steam/inventory?user=<pubkey>
POST https://keeper-production-aefd.up.railway.app/lending/request → token-gated loan request (when live)
GET https://keeper-production-aefd.up.railway.app/marketplace/listings
GET https://keeper-production-aefd.up.railway.app/marketplace/deals?user=<pubkey>
POST https://keeper-production-aefd.up.railway.app/marketplace/listings → list skin (seller)
POST https://keeper-production-aefd.up.railway.app/marketplace/deals → start purchase (buyer)
POST https://keeper-production-aefd.up.railway.app/marketplace/deals/:id/payment → submit USDC tx
POST https://keeper-production-aefd.up.railway.app/marketplace/deals/:id/trade-offer → seller trade offer ID
GET https://keeper-production-aefd.up.railway.app/candles?market=KARAMBIT-DOPPLER-P2&resolution=1h&limit=100
GET https://keeper-production-aefd.up.railway.app/prices?market=KARAMBIT-DOPPLER-P2&limit=50
GET https://keeper-production-aefd.up.railway.app/trades/recent?limit=50
GET https://keeper-production-aefd.up.railway.app/trades?user=<pubkey>
POST https://keeper-production-aefd.up.railway.app/trades → record open/close (JSON TradeRecord)
GET https://keeper-production-aefd.up.railway.app/stats → 24h volume, trades, unique tradersFrontend rewrites /api/keeper/* → keeper port (default 3001). Postgres is optional; without it, trades persist in memory only.
Run locally
npm install && npm run build:shared node scripts/fetch-featured-skins.mjs # skin images node scripts/process-logos.mjs # transparent logos docker compose up -d postgres # optional npm run dev:keeper # :3001 npm run dev:frontend # :3000 → /trade
Brand assets
Logos live in frontend/public/branding/:
logo-icon.png— circular CL + Karambit (favicon, watermarks)logo-wordmark.png— CSGO LIQUID horizontal lockup
Backgrounds are transparent PNGs. Regenerate with node scripts/process-logos.mjs.
FAQ — read this first
Phantom says “Request blocked” / “this dApp could be malicious” — is it safe?
Yes. That warning is shown automatically by Phantom (via Blowfish) for any domain it hasn't indexed yet — it is based on domain age, not on anything malicious in the code. CSGOLiquid is a brand-new domain, so it gets flagged by default.
You can verify everything yourself on-chain in the Contracts section above (program, pool account, USDC vault). To proceed, click “Proceed anyway” in Phantom. You still review and sign every single transaction — nothing can move from your wallet without your explicit approval.
What is the difference between Pool and Portfolio?
These are two separate on-chain accounts and a very common point of confusion:
- Pool — Liquidity provision. You deposit USDC as an LP to back trader payouts and earn a share of fees. This is not used to open your own trades.
- Portfolio — Trading margin. You deposit USDC here to open and close your own leveraged positions.
If you want to trade, deposit on Portfolio. If you want to earn yield as a liquidity provider, deposit on Pool. They do not share balances.
Do you ever have access to my funds?
No. CSGOLiquid is non-custodial. Your USDC sits in on-chain program accounts controlled by the Anchor program's rules, and every deposit, trade, and withdrawal is a transaction you sign in Phantom. We cannot move your funds.
What do I need to start?
Why is the pool small right now?
CSGOLiquid just launched. Liquidity grows as early adopters deposit. A smaller pool means position sizes are capped for safety — start small. You can verify live TVL on the Pool page, with direct links to the on-chain USDC vault.
Can I buy or sell CS2 skins on CSGOLiquid?
Can I borrow USDC against my CS2 skins?
A skin lending desk is in preview at /lending. You can link Steam, match inventory, and preview borrow limits today. Loan requests open at launch behind a 250k+ $CsLiq token gate — see token tiers in docs.
Can I get auto stop-loss / take-profit?
Yes. On the Trade page, enable “Auto-sign SL/TP closes”. When your SL, TP, or liquidation level is hit, Phantom will sign the close automatically (keep the tab open). It's off by default so you stay in full control.
Risk disclosure
CSGOLiquid is live production software on Solana mainnet with real USDC. Smart contract risk, oracle manipulation, liquidity constraints, and software defects can result in total loss of collateral. Perpetual futures are high-risk instruments. This is not financial advice. Not offered to US persons. Trade only what you can afford to lose.
