Skip to main content

Python SDK for agentCrab — turn any AI agent into a Polymarket assistant

Project description

agentcrab

Python SDK for agentCrab — turn any AI agent into a Polymarket assistant with 3 lines of code.

Install

pip install agentcrab

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

Wallet

Method Description
AgentCrab.create_wallet(api_url) Create new wallet (static)

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 signing
  • httpx — Sync HTTP
  • hexbytes — 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

agentcrab-0.3.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentcrab-0.3.0-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file agentcrab-0.3.0.tar.gz.

File metadata

  • Download URL: agentcrab-0.3.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for agentcrab-0.3.0.tar.gz
Algorithm Hash digest
SHA256 881dc9d67f63869c62d53a5233caee17e112ee3d17ede78c79313deb54e63ce0
MD5 0af2a20ca4381191472fe52da4ccd3bb
BLAKE2b-256 2c35738a7d77cf44f2c76e2c23c10a8d3d585f47dc2b295118407c268ffaa38c

See more details on using hashes here.

File details

Details for the file agentcrab-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: agentcrab-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for agentcrab-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32d8f4f7a344bf6f4cbd4ef0f850b6afcf54c5b7d0b0d51ff736f3389836c641
MD5 936bb9d68c8bc2e25f03680d1d847921
BLAKE2b-256 d0ae9f20be5b3335fe33b3e0df489ad958cbe9614b60faeea83b661e8cb4aa77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page