PIT by MIKODES

Source code for operators · v0.3.0

Launch your own AI trading arena. Earn from the audience it brings.

AI models trade crypto in public on live Hyperliquid prices. Your visitors watch every decision, pick winners and build their own agents. You run it on your server, under your brand, and keep what it earns: memberships, sponsors and an opt-in builder fee.

  • 1 keyone model API key starts the paper league
  • $0trading funds needed to go live on paper
  • 0MIKODES addresses in your payment flows
  • 0trading keys on the server
Illustration of the v2 arena layout (timing tower + Radio) with the default model lineup. Values are left as "—" on purpose: on your server they come from the paper league running on live Hyperliquid prices, and every paper figure carries the PAPER tag.

What your users get

A page worth coming back to. Not an empty leaderboard.

An audience is what you monetise, so v2 gives visitors something to do from the first minute, not just something to watch.

A paper league, live from minute one

Every model you configure, in up to four public prompt styles (Baseline, Monk, Situational, Max-lev), trades a $10,000 paper account on live Hyperliquid prices. Fills, fees, funding and liquidations are simulated from the real market, and every screen says PAPER. Each entrant is measured against BTC buy-and-hold over the same window.

No funded accountsNo signingvs BTC benchmark

Their own AI agents

Visitors sign in with their wallet (Sign-In with Ethereum: no passwords, no email), then name an agent, choose a model from your allowed list and write its strategy prompt. It trades in the community paper league at your cost, capped by agent slots and a daily LLM budget, with optional moderation.

SIWE sign-inSlots per userModeration

Picks and daily duels

Pick the season winner, call today's duel between two models over 24 hours, build a streak and climb the user leaderboard. Points only: no money, no prizes paid by PIT.

Radio and replay

A live feed of every decision with the model's full reasoning, filterable by model and league. Scrub any entrant's equity and decisions in replay, and export them.

Share cards

Server-rendered PNG cards per entrant, pick and duel, in 1200×630 and 1080×1350, with OG tags so links unfurl on X and Telegram. Every share is a link back to your arena.

A real-money season, when you want one

Fund Hyperliquid sub-accounts and the models trade them for real from your operator console, as a separate "Real money" league. Its numbers are read from the chain by address, and a decision shows as on-chain only when its order ids appear in the public fills. Optional: the arena is complete without it.

Ride: copy a model, opt-in only

If you turn it on, visitors can mirror a real-money model from their own wallet, signed in their own browser with a key that cannot withdraw. Off by default, country-gated, capped, and only after the rider accepts the risks.

Off by defaultViewer's own wallet

How you earn

Five revenue streams. All paid to you.

The arena draws the audience; these are the ways it pays. Every stream ships switched off, and money goes to accounts you configure: your Stripe account, your USDC address, your builder address. Nothing routes through MIKODES.

  1. 01

    Membership

    Paid by your most engaged visitors

    You create the plans and set the prices. Free visitors see the feed delayed by the minutes you choose; members get:

    • realtime feed and instant alerts to Telegram, Discord or a signed webhook
    • the full reasoning archive and replay
    • CSV / JSON export and a personal API key
    • extra slots for their own agents
    Paid via
    Stripe Checkout (subscription or one-time), or USDC straight to your address
    Custody
    None. The server checks the USDC transfer on-chain.
    Ships
    Off: no plans until you create them
  2. 02

    Sponsors

    Paid by brands that want your audience

    Sell sponsor slots on one entrant, on a whole season, or as a banner. Every slot is labelled "Sponsored". Sponsors get aggregate impressions and clicks, and no visitor is tracked individually. You agree the price and invoice the sponsor yourself.

    Slots
    Entrant · season · banner
    Stats
    Aggregate impressions and clicks
    Ships
    Empty
  3. 03

    Ride builder fee

    Paid by riders, on their own orders

    When a visitor copies a model with Ride, each order they send from their own wallet can carry your Hyperliquid builder fee, 0 to 0.1%. Hyperliquid collects it and credits your builder address. The Revenue page reads the credited total from Hyperliquid.

    • The rider sees the rate and approves it with their own wallet.
    • Hyperliquid only accepts builder fees when the builder address holds at least 100 USDC in perps account value. PIT checks this before sending.

    Legal first. Copy trading is closer to portfolio management than to alerts. Ride is off by default and country-gated; turning it on means typing ENABLE after a legal warning. Get legal advice where you and your riders are.

    Rate
    0 – 0.1%
    Earns on
    Third-party (rider) orders only
    Ships
    Off, builder: null
  4. 04

    White-label and agency work

    Paid by clients who want their own arena

    Name, tagline, accent colour, theme, SEO and footer are all set in the admin panel, with no code changes. With the Agency licence you can build and run branded arenas for communities, exchanges or media clients and charge for setup and hosting.

    Needs
    Agency licence
    Branding
    Admin → Brand & site
  5. 05

    Affiliate links

    Paid by exchanges and tools you refer to

    Add your own affiliate links (an exchange, a wallet, a data tool). Each link can be hidden in countries where you can't or don't want to promote it.

    Per link
    Label · URL · hidden countries
    Ships
    Empty

What does not earn

  • The arena's own trades. A builder fee on your own sub-account orders is paid by you to yourself, so it earns nothing. Only third-party orders (Ride) do.
  • Picks and duels. Points only. No entry fees, no betting on models, no prizes paid by PIT.
  • The paper league. It's the free show that brings the audience. There's no money in it.

Your monthly maths

Membership
Sponsors and other income
Ride (rider orders only)
0.050%

Hyperliquid's perps maximum is 0.1%. The arena's own orders earn nothing, so leave them out.

Costs

Result · per month

Membership$0
Sponsors$0
Ride builder fees$0
Other$0
Costs−$350
Net, from your inputs −$350

—

Your inputs, not a forecast. This is arithmetic on the numbers you type. PIT does not predict members, sponsors, volume or income, and no result is promised.

The honest cost line

LLM calls, 5 models, every 15 minEST.~$345/mo
LLM calls, 5 models, every 5 minEST.~$1,030/mo Estimated from published model prices, assuming about 6k input and 1.5k output tokens per call. Premium models cost more, budget models less. Measure your own.
Hosting, one small VPS~$5/mo A persistent Node process with SQLite. No database service, no queue. Typical entry-level VPS price.

The cost scales with the number of entrants × how often they decide. The default lineup runs every model in four prompt styles (20 entrants at a 15-minute interval), so switch styles off or lengthen the interval to match your budget. A daily LLM budget guard (default $10/day, set in admin) pauses new decisions when it is reached and resumes at 00:00 UTC. Stripe and USDC network fees are extra.

Admin v2 · #/admin

Run the business from one panel.

Everything above is configured in the browser, validated against the same schema the server uses, versioned and applied live without a restart. Stripe, webhook and Telegram secrets go into an encrypted secret store, never into config or the browser.

  • Setup wizard

    API key → models → prompt styles → go live, with a checklist that stays until each step is done. Aimed at about two minutes on a fresh install.

  • Revenue

    Realised money only: Stripe payments, USDC payments, sponsor income you record, and builder fees read from Hyperliquid for your builder address. No projections.

  • Membership & payments

    Plans and prices, the free-tier delay, Stripe Checkout, USDC receiver and chain, the Telegram alert bot.

  • Sponsors

    Slots per entrant, season or banner, with start and end dates and aggregate impressions and clicks.

  • Command palette ⌘K

    Jump to any section or setting from the keyboard.

Also in admin: Paper league & variants, Community (users, agent moderation, picks, LLM budget), and all v0.2 sections: Dashboard, Brand & site, Season, Competitors, Models & API keys, Prompts, Fees, Ride, League, Operator, Audit log and Config history with diff and one-click rollback. Admin in the docs →

Trust & custody

Labelled, verifiable, non-custodial.

Paper is always labelled

Simulated figures carry a PAPER tag on every screen. Unknown values show "—", never a zero or an invented number.

Real money is read from the chain

The real-money league reads equity, positions and fills from Hyperliquid's public API by address. Anyone can check them on an explorer.

The server never signs a trade

Real orders are signed in the operator's browser tab with an agent key that can trade but never withdraw. Ride riders sign in their own tab.

No custody of payments

USDC goes straight from the member's wallet to your address; the server verifies the transfer on-chain. Card payments go through your own Stripe account.

Secrets encrypted

Model keys and payment secrets saved in admin are encrypted with AES-256-GCM and shown only as ••••last4. Admin sessions are signed, httpOnly and rate-limited.

Minimal user data

Users sign in with a wallet signature: no passwords, no email. Sponsors see aggregate numbers only.

Stated plainly: PIT has not yet sent a real mainnet order. Run a real-money season on testnet first. The paper league needs no funds and no signing.

Stack & requirements

Plain TypeScript. One process.

  • WebReact 19 + Vite, one design system (light and dark)
  • ServerNode 22, node:http + node:sqlite, no framework
  • LanguageTypeScript everywhere, one shared API contract
  • MarketHyperliquid public info API and WebSocket
  • ModelsAnthropic, OpenAI, Google, xAI, DeepSeek (your keys)
  • PaymentsStripe Checkout; USDC verified by reading the Transfer log over RPC
  • ChartsTradingView Lightweight Charts
  • TestsVitest, run in GitHub Actions CI with a build and smoke test
  • DeployDockerfile, Fly.io and Render configs, SQLite backup script. One npm start serves site, API and admin.

You need

  1. Node ≥ 22.13 on a host that keeps a Node process running (a VPS or container, not serverless).
  2. One model API key to start. More providers for more of the lineup.
  3. ADMIN_PASSWORD and PIT_SECRET on the server to turn on the admin panel.
  4. A Stripe account and/or a USDC address and RPC URL membership
  5. A Telegram bot token alerts
  6. Funded Hyperliquid sub-accounts and a browser wallet real-money season
  7. A builder address with ≥ 100 USDC and a CDN that sets a country header Ride

Full requirements and install steps →

The package

What's included, and what isn't.

Included

  • Full TypeScript source: server, public arena, paper engine, community, membership and payments, share cards, admin, operator console, Ride, prediction league
  • Shared API contract, config schema and test suites
  • .env.example and arena.config.example.json
  • Buyer documentation, also online at /docs: install, configuration, admin, seasons, deployment, troubleshooting
  • Deploy kit: Dockerfile, Fly.io and Render configs, CI workflow, backup script and docs/DEPLOY.md

Not included

  • Model API keys, LLM usage or any funds. You pay providers directly.
  • Hosting, a domain, a CDN, a Stripe account
  • A hosted or managed service. You run it.
  • An audience. The arena gives people a reason to come; bringing them is your job.
  • Legal, tax or regulatory advice
  • Any promise of trading results or income

Licence

Standard

Run your own arena under your own brand and earn from it with every stream above.

Licence

Agency

Build and operate white-label arenas for clients.

Prices and full licence terms at mikodes.com →

FAQ

Straight answers.

How much will I earn?

We don't know, and we don't publish an estimate. It depends on the audience you bring, what you charge and what sponsors pay you. The calculator above is arithmetic on your own numbers. The admin Revenue page shows only money that has actually arrived.

Is the paper league real trading?

No. Paper entrants trade simulated $10,000 accounts: fills are simulated at the live Hyperliquid price plus slippage and a taker fee, with funding and liquidation checked on live prices. Nothing is signed and no money moves, and every paper figure is labelled PAPER. The real-money league is separate, optional and read from the chain.

Why doesn't the arena's own trading earn builder fees?

A builder fee is paid by whoever places the order. On your own sub-accounts you would pay it to yourself, so it nets to zero. Builder fees earn only on third-party orders, which in PIT means Ride.

Do I need to fund anything to launch?

No. One model API key starts the house paper league on live prices. Funded Hyperliquid accounts are needed only for an optional real-money season. Your running cost is the LLM usage and hosting shown in the cost line.

Is selling memberships legal where I am?

You are the merchant: the Stripe account, prices, terms, refunds and sales tax or VAT are yours. Members pay for data and alerts about AI models' decisions, which is not investment advice, but some countries regulate paid trading signals. Check the rules where you sell, and keep the site's disclaimer.

What about Ride?

Copying trades carries the most regulatory weight. Ride is off by default; enabling it needs a typed confirmation after a legal warning. It is country-gated through your CDN's country header (the example blocklist is US, CA, GB, SG, HK, MY) and riders must accept the risks first. Get legal advice before you turn it on. MIKODES does not provide legal advice.

Are picks and duels gambling?

As shipped, no: picks earn points only, with no entry fee, no stakes and no prizes paid by PIT. If you add prizes yourself, contest and sweepstakes law applies to you, and in some places that is strict.

Will the models make money?

No result is guaranteed. Models make mistakes and past results say nothing about future results. In a real-money season, leveraged perpetual futures can lose all the funds in an account quickly. That's why PIT shows drawdown, sample size and a vs-BTC benchmark next to every return.

The prediction league is empty. Why?

Some internet providers block Polymarket (Telekom SK, for example). The league then shows its real empty state. Run the server on a network where Polymarket is reachable. Scores appear only after markets resolve, so a new league starts blank.

Can I rebrand it or build arenas for clients?

Name, tagline, accent colour, default theme, SEO and footer are all admin settings. Building arenas for clients needs the Agency licence.

Where do keys and secrets live?

Model keys and payment secrets live either in the server environment or in the admin's encrypted store (AES-256-GCM with PIT_SECRET). Trading keys for a real-money season never reach the server: they stay in the operator's browser tab.

Can I see a live arena?

Not yet. The reference arena isn't deployed, so this page shows an illustration without numbers instead of a live embed.

Changelog

Releases

v0.3.0v2 rebuild
  • House paper league on live Hyperliquid prices: four public prompt styles, vs-BTC benchmark, daily LLM budget guard
  • Community: Sign-In with Ethereum, own agents in a community paper league, points picks and daily duels, user leaderboard
  • Radio feed with full reasoning, replay per entrant, CSV / JSON export
  • Membership: plans, Stripe Checkout or USDC to your address, realtime alerts (Telegram, Discord, signed webhook), personal API key
  • Sponsor slots with aggregate stats; Revenue page with realised income only; share cards with OG tags
  • Admin v2: setup wizard, ⌘K command palette, Paper league, Community, Membership, Sponsors and Revenue sections
  • "Pit Wall" redesign with an ultramarine accent, light and dark
  • Revenue model corrected: the arena's own orders earn no builder fee; Ride builder fees apply to rider orders only
v0.2.0
  • Admin panel with 12 sections, live apply, audit log, config history with rollback
  • Encrypted model keys, exact season PnL from fills, security fixes, deploy kit
v0.1.0
  • Public arena on Hyperliquid, decision feed with on-chain matching, operator console, Polymarket prediction league, Ride

Your arena, your audience, your revenue.

Self-hosted source code. Live on paper with one API key; the earning is switched on in admin.