Python SDK + MCP Server for agentCrab — trade Polymarket prediction markets, earn $CRAB token airdrops
Project description
agentcrab
Python SDK + MCP Server for agentCrab — turn any AI agent into a Polymarket assistant with 3 lines of code. Every API call earns $CRAB airdrop points worth 2x your spending.
Install
pip install agentcrab # SDK only
pip install agentcrab[mcp] # SDK + MCP server
Quick Start
from agentcrab import AgentCrab
client = AgentCrab("https://api.agentcrab.ai/polymarket", "0xYOUR_PRIVATE_KEY")
# Search markets
markets = client.search("bitcoin")
for m in markets:
print(m.title, m.outcomes)
# Check balance
balance = client.get_balance()
print(f"{balance.calls_remaining} API calls remaining")
Trading
# One-time setup (deploys Safe + approvals + L2 credentials)
setup = client.setup_trading()
print(f"Safe: {setup.safe_address}")
# Buy shares
result = client.buy(token_id="TOKEN_ID", size=5.0, price=0.65)
print(f"Order {result.status}: {result.order_id}")
# Sell shares
result = client.sell(token_id="TOKEN_ID", size=5.0, price=0.70)
# View positions
for pos in client.get_positions():
print(f"{pos.outcome}: {pos.size} shares, PnL: {pos.pnl}")
Full API
Balance & Payment
| Method | Description | Cost |
|---|---|---|
get_balance() |
Prepaid balance | Free |
get_wallet_balance() |
BSC wallet USDT + BNB | Free |
get_trading_status() |
Trading setup status | Free |
deposit(amount_usdt) |
Deposit to agentCrab | Free |
deposit_to_polymarket(amount_usdt) |
Deposit to Polymarket | Free |
Market Data
| Method | Description | Cost |
|---|---|---|
search(query, tag, category) |
Search events | 0.01 USDT |
browse(category, mood) |
Browse events | 0.01 USDT |
get_categories() |
List market categories | Free |
get_event(event_id) |
Get single event | 0.01 USDT |
get_event_by_slug(slug) |
Get event by slug | 0.01 USDT |
get_market(market_id) |
Get single market | 0.01 USDT |
get_orderbook(token_id) |
Get orderbook | 0.01 USDT |
get_orderbooks_batch(token_ids) |
Batch orderbooks (up to 20) | 0.01 USDT |
get_price(token_id) |
Get price | 0.01 USDT |
get_prices_batch(token_ids) |
Batch prices (up to 20) | 0.01 USDT |
find_tradeable(query, category, mood) |
Find liquid market + orderbook (1 search + N orderbook calls) | 0.01+ USDT |
search_history(query, category) |
Search closed events | 0.01 USDT |
sync_history() |
Trigger closed-event sync | Free |
Positions & History
| Method | Description | Cost |
|---|---|---|
get_positions() |
Your positions | 0.01 USDT |
get_trades(limit, offset) |
Your trades | 0.01 USDT |
get_activity(limit, offset) |
On-chain activity | 0.01 USDT |
get_trader_positions(address) |
Any trader's positions | 0.01 USDT |
get_trader_trades(address) |
Any trader's trades | 0.01 USDT |
Leaderboard
| Method | Description | Cost |
|---|---|---|
get_leaderboard(limit, offset) |
Global leaderboard | 0.01 USDT |
get_category_leaderboard(category) |
Category leaderboard | 0.01 USDT |
get_trader_category_profile(address) |
Trader category breakdown | 0.01 USDT |
get_category_stats(category) |
Category aggregate stats | 0.01 USDT |
Trading (auto-setup on first trade)
| Method | Description | Cost |
|---|---|---|
setup_trading() |
Deploy Safe + approvals + creds | 0.01-0.03 USDT |
set_credentials(key, secret, passphrase) |
Manual cred set | Free |
refresh_balance() |
Refresh CLOB balance cache | Free |
buy(token_id, size, price) |
Buy shares | 0.01 USDT |
sell(token_id, size, price) |
Sell shares | 0.01 USDT |
batch_order(orders) |
Batch orders (max 15) | N × 0.01 USDT |
cancel_order(order_id) |
Cancel order | 0.01 USDT |
cancel_all_orders() |
Cancel all | 0.01 USDT |
get_open_orders(market) |
Open orders | 0.01 USDT |
Stop Loss / Take Profit
| Method | Description | Cost |
|---|---|---|
set_stop_loss(token_id, trigger_price, size, exit_price) |
Set stop loss | 0.01 USDT |
set_take_profit(token_id, trigger_price, size, exit_price) |
Set take profit | 0.01 USDT |
get_triggers(status, token_id) |
List triggers | Free |
cancel_trigger(trigger_id) |
Cancel trigger | Free |
cancel_all_triggers(token_id) |
Cancel all triggers | Free |
$CRAB Token & Points
| Method | Description | Cost |
|---|---|---|
get_points() |
Your airdrop points | Free |
get_points_leaderboard(limit) |
Points ranking | Free |
get_token_info() |
Token details + rules | Free |
Every API call earns points. 1 USDT deposited = 100 points, 1 API call = 1 point. Airdrop value >= 2x total spend.
Wallet
| Method | Description |
|---|---|
AgentCrab.create_wallet() |
Create new wallet locally (static, no server call) |
MCP Server
For Claude Code, Cursor, Windsurf, and other MCP-compatible tools:
# stdio mode (Claude Code, local agents)
AGENTCRAB_PRIVATE_KEY=0x... agentcrab-mcp
Runs locally — private keys never leave your machine. Exposes all SDK methods as MCP tools. No code needed — the AI calls tools directly.
Typed Responses
All methods return typed dataclasses with a .raw escape hatch:
balance = client.get_balance()
print(balance.calls_remaining) # typed field
print(balance.raw) # full server response dict
Error Handling
from agentcrab import AgentCrabError, InsufficientBalance
try:
result = client.buy(token_id, size=5.0, price=0.65)
# buy()/sell() auto-call setup_trading() if needed — no manual setup required
except InsufficientBalance as e:
print(f"Top up: {e.message}")
except AgentCrabError as e:
print(f"Error [{e.error_code}]: {e.message}")
Dependencies
Minimal — no web3 required:
eth-account— EIP-191, EIP-712, tx signinghttpx— Sync HTTPhexbytes— SafeTx hash signing
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentcrab-0.4.0.tar.gz.
File metadata
- Download URL: agentcrab-0.4.0.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b2cf747f81e212989d22b9e6c7ea9ab4a469f44297247b0aaa06e8e9243792e
|
|
| MD5 |
8eb7d2e1e5c85ed6632a708cbd41d5a2
|
|
| BLAKE2b-256 |
5d077cfb4c2dc42f7017a6247308c12c9350db47935f04e3d243a15f68c779fa
|
File details
Details for the file agentcrab-0.4.0-py3-none-any.whl.
File metadata
- Download URL: agentcrab-0.4.0-py3-none-any.whl
- Upload date:
- Size: 25.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
257c156700fc566c23039c3d65f8c8c70be03995e0a625c1ebb4018eb5f333c6
|
|
| MD5 |
c61bf201331ce4fe786a42e6422c4675
|
|
| BLAKE2b-256 |
829b82057c2cd2c6e04bd7ec733cd36fc1c03a0611a947f442a9773a96ccc511
|