Trade perps
from any AI.
Connect Claude, ChatGPT, Codex, Cursor, Gemini or VS Code to Papertrade's BTC and ETH perpetuals. Your AI reads live markets and any wallet, previews every trade, and trades only inside the limits you set. Your wallet signs once. The key it creates cannot withdraw.
https://papertrade-ai.ninabrekkerese.workers.dev/mcpPapertrade live
- Max leverage
- 1000x
- 24h volume
- $000B
- Min margin / size
- $10 / $10K
- Market
- Open
Install
One URL. Every assistant.
Remote server with OAuth, so there is nothing to install and no API key to paste. Prefer local? It is one npx away.
Claude.ai, Claude Desktop and mobile
- Open Settings, Connectors and click Add custom connector.
- Name it Papertrade and paste the server URL. Leave the OAuth fields empty.
- Click Connect, pick Read only or Trade with guardrails, and sign with your wallet.
ChatGPT apps (developer mode)
- In Settings, Apps, Advanced settings, turn on Developer mode.
- Click Create app, paste the server URL, choose OAuth, and create it.
- Sign in with your wallet, then enable Papertrade from the + menu in a chat.
Building a custom GPT instead? Import https://papertrade-ai.ninabrekkerese.workers.dev/openapi.json as an Action.
Claude Code
Plugin with the server, a trading skill and slash commands:
/plugin marketplace add nirholas/papertrade-ai
/plugin install papertrade-ai@papertrade-ai
Or just the server:
claude mcp add --transport http papertrade https://papertrade-ai.ninabrekkerese.workers.dev/mcpOpenAI Codex CLI and IDE
codex mcp add papertrade --url https://papertrade-ai.ninabrekkerese.workers.dev/mcp
codex mcp login papertradeCursor
One click, then press Connect next to Papertrade in Settings, MCP.
{
"mcpServers": {
"papertrade": { "url": "https://papertrade-ai.ninabrekkerese.workers.dev/mcp" }
}
}VS Code with GitHub Copilot
One click, or from a terminal:
code --add-mcp '{"name":"papertrade","type":"http","url":"https://papertrade-ai.ninabrekkerese.workers.dev/mcp"}'Gemini CLI
gemini extensions install https://github.com/nirholas/papertrade-ai
Then run /mcp auth papertrade inside Gemini CLI.
How it works
Sign once. Trade by asking.
The same flow the official Papertrade app uses for one-click trading, with an AI and your guardrails in the loop.
Connect
Your AI opens a Papertrade AI page. Connect any browser wallet and choose read only, or trading.
Set guardrails
Max margin per trade, max leverage, daily size, open positions, markets, and whether every trade needs your yes. One EIP-712 signature registers a 30-day session key.
Ask
"Long ETH with $20 at 500x." Your AI previews entry, liquidation price and PnL scenarios, waits for your confirmation, then trades.
Safety
Built for the worst prompt, not the best one.
What a confused or manipulated model can do is bounded by limits you choose, enforced in code the model cannot reach.
Keys that cannot withdraw
The session key can open, close and cancel positions. The exchange contract does not let it withdraw or transfer anything.
Guardrails on the server
Margin, leverage, rolling 24h size, open positions and markets are checked before any intent is signed.
Preview, then confirm
Opening is two calls. The second needs a signed quote for the identical trade, valid for three minutes.
Encrypted per app
Each app's session key is encrypted with a key derived from that app's own access token.
Revoke in one click
Sign in on the account page and revoke any app. Tokens and keys are deleted on the spot.
Open source
Every line is on GitHub under MIT. Run it locally with npx or deploy your own Worker.
Try asking
Things to say to your AI
Click any prompt to copy it.
Tools
18 tools. Markets to execution.
Every tool returns a summary your AI can say out loud and structured data it can reason over. On Claude, ChatGPT, VS Code and Goose the results render as a live trading card.
get_marketsPublicLive Papertrade perp markets (BTC, ETH): Hyperliquid mark/bid/ask, 24h change, Papertrade 24h volume, open interest vs caps, max leverage, minimum trade size and whether each market is open.
get_price_chartPublicOHLCV candles for BTC or ETH from Hyperliquid (the price source Papertrade settles against), with range stats and a TradingView link.
get_protocol_statsPublicPapertrade protocol analytics: TVL, margin, LP, lifetime volume, open positions, fees, PAPER supply and staking, plus daily history (volume, trader PnL, liquidations, users).
get_liquidation_mapPublicWhere open Papertrade positions get liquidated: notional and position count of longs and shorts by price bucket around the current price, with the largest clusters.
get_leaderboardPublicPapertrade trader leaderboard for a time window, sortable by PnL, volume, balance and more.
get_top_tradesPublicThe most profitable individual Papertrade positions in a window: who, market, side, leverage, entry, exit and PnL.
get_recent_tradesPublicThe latest opens, closes and liquidations across all of Papertrade, optionally filtered by market or wallet.
get_accountPublicA Papertrade account: free balance, locked margin, equity, every open position with live estimated PnL, bust price and distance to liquidation, pending intents, session keys and lifetime stats.
get_trade_historyPublicClosed and liquidated positions for a wallet, newest first, with entry, exit, settled PnL, fees and PAPER minted.
get_portfolio_historyPublicEquity curve for a wallet over 1h, 1d, 1w or all time.
calculate_positionPublicPure math for a hypothetical position: bust price, liquidation distance and settled PnL at a target exit, using the exchange formula (win curve, deadband, 2% win fee).
get_deposit_infoPublicHow to fund a Papertrade account: the wallet's personal deposit proxy address (USDC on HyperCore spot), minimums, the activation fee, and the wallet's current HyperEVM USDC/HYPE balances.
get_trading_permissionsPublicWhat this connection may do: connected wallet, whether a trading session is active and when it expires, the guardrails the owner set, and how much of the daily limit is used.
preview_tradeTradingStep 1 of 2 for opening a position.
open_positionTradingStep 2 of 2: opens a real Papertrade position with the user's funds, signed by the delegated session key.
close_positionsTradingCloses open positions at the market, signed by the session key.
cancel_intentTradingCancels a submitted intent that is still queued (not yet executed).
get_intent_statusPublicWhether a submitted intent is still queued, has produced an open position, or is no longer pending.
Developers
Not using MCP? Use HTTPS.
Every public tool is a REST endpoint with open CORS and an OpenAPI 3.1 document, for GPT Actions, agent frameworks, bots and dashboards.
curl https://papertrade-ai.ninabrekkerese.workers.dev/api/v1/tools/get_markets
curl "https://papertrade-ai.ninabrekkerese.workers.dev/api/v1/tools/get_liquidation_map?market=ETH"FAQ
Questions
Is Papertrade AI official?
No. It is an independent open-source project, MIT licensed, not affiliated with Papertrade. It uses the same public endpoints and the same signed messages as the official web app.
Can the AI withdraw my funds?
No. The trading session key can only open, close and cancel Papertrade positions; the exchange contract does not let it withdraw or transfer. On top of that the server enforces the limits you set: margin per trade, leverage, daily size, open positions and markets.
Does "Papertrade" mean fake money?
No. Positions use real USDC deposited to your Papertrade account and losses are real. At 1000x a 0.1% move against you liquidates the position.
Which AI apps work?
Claude (web, desktop, mobile, Claude Code), ChatGPT, OpenAI Codex, Cursor, VS Code with Copilot, Gemini CLI, Windsurf, Zed, Cline, Goose, LibreChat and any MCP client over Streamable HTTP or stdio.
Do I need to connect a wallet?
Only for your own account and for trading. Markets, charts, the liquidation map, leaderboards and any wallet lookup work without connecting.
What does it cost?
Papertrade AI is free. Papertrade charges a one-time 1 USDC activation fee on the first deposit and a 2% fee on winning trades.
How do I revoke access?
Open the Manage connected apps page, sign a free message with your wallet, and click Revoke. Tokens and the session key are deleted immediately.