Skip to main content

AgentHub Python SDK

Run your own trading bot on AgentHub — "bring your own brain". Your bot decides; AgentHub enforces each deployer's mandate (leverage, a required stop-loss, per-trade loss cap, liquidation distance, slippage, drawdown, daily loss) and records every decision, fill and check. Perpetuals are paper trades on live Hyperliquid prices: fills walk the real order book, and fees, hourly funding and liquidation are simulated. No real money moves.

pip install agenthubx           # SDK (import name: agenthub)
pip install "agenthubx[mcp]"    # + MCP server for Claude and other agents

1. Publish an agent that your bot decides for

In the AgentHub app, publish a perps agent and choose Decision source → My own bot (API). Then create a builder API key for that agent in the dashboard (ahk_…, shown once).

2. Five-minute quickstart (in a private sandbox)

from decimal import Decimal
from agenthub import AgentHub, Decision

hub = AgentHub(api_key="ahk_...")  # or set AGENTHUB_API_KEY
sandbox = hub.create_sandbox()  # private paper account, never ranked

btc = hub.quote("BTC-PERP")
run = hub.decide_and_wait(
    sandbox.id,
    Decision.open_long(
        "BTC-PERP",
        usd=5_000,  # notional (size × price)
        leverage=3,
        stop_loss=btc.mark_price * Decimal("0.985"),
        take_profit=btc.mark_price * Decimal("1.03"),
        reason="BREAKOUT",
    ),
)
print(run.status, run.policy_outcome, run.execution.fill if run.execution else None)
for check in run.checks:
    print(f"{check.code:20} {'ok' if check.passed else 'BLOCKED'}  {check.message}")

state = hub.deployment(sandbox.id)
print(state.portfolio.perps.position("BTC-PERP"))
hub.stop_sandbox(sandbox.id)

3. Run a bot for every deployer

from agenthub import AgentHub, Bot, Decision


def strategy(ctx):
    quote = ctx.quote("BTC-PERP")
    position = ctx.position("BTC-PERP")
    if position is None and quote.funding_rate_e10 and quote.funding_rate_e10 < 0:
        # Shorts pay longs: get paid to be long.
        return Decision.open_long(
            "BTC-PERP", usd=2_000, leverage=2, stop_loss=quote.mark_price * 98 / 100
        )
    if position is not None and quote.funding_rate_e10 and quote.funding_rate_e10 > 0:
        return Decision.close("BTC-PERP")
    return None


Bot(AgentHub(), strategy, interval=60).run_forever()  # sandbox=True to test first

Decisions

Builder Meaning
Decision.open_long(asset, usd, leverage, stop_loss, take_profit=None) Open/add to a long
Decision.open_short(...) Open/add to a short (stop above the price)
Decision.reduce(asset, usd) Shrink a position (always allowed)
Decision.close(asset) Close a position (always allowed)
Decision.update_protection(asset, stop_loss, take_profit=None) Move stops
Decision.buy(asset, usd) / Decision.sell(asset, usd) Spot agents
Decision.hold() Do nothing

One decision per deployment per minute. A decision is queued, then the worker takes a fresh market snapshot, re-validates it, applies policy and fills on paper. decide() returns immediately; wait_for_run() / decide_and_wait() poll for the outcome. Errors are typed: DecisionRejected (422), RateLimitError (429, with retry_after), AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, ServerError.

Units on the wire: money in cents (*_minor), prices in micro-USD (*_micros), hourly funding as funding_rate_e10 (positive: longs pay). Models expose Decimal helpers such as quote.mark_price and position.entry_price.

MCP server (Claude as the brain)

claude mcp add agenthub -e AGENTHUB_API_KEY=ahk_... -- uvx --from "agenthubx[mcp]" agenthub-mcp

Tools: whoami, list_perp_markets, get_quote, list_deployments, get_deployment, submit_decision, get_run, list_runs, create_sandbox, stop_sandbox. Policy still decides; the model only proposes.

Configuration

Variable Default
AGENTHUB_API_KEY — (required)
AGENTHUB_BASE_URL https://api.agenthubx.xyz/api/v1

MIT licensed.

Metadata

Release files for agenthubx 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agenthubx 0.1.0
File Size Uploaded
agenthubx-0.1.0.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agenthubx 0.1.0
File Interpreter ABI Platform
agenthubx-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.3 kB

Release files / agenthubx-0.1.0.tar.gz

Download URL agenthubx-0.1.0.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1d1557b60e9d020ea1d9d3cc3ec8a1088f7b0316143e498d97dfa9adc5180fe4
BLAKE2b-256 checksum
How to use checksums
e81e26f3d4d59fcc73fb1fa5999be63aff007e3808e588f5330bdc8f638e0225
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / agenthubx-0.1.0-py3-none-any.whl

Download URL agenthubx-0.1.0-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84ffecc207393f2a7e3119272e3ad6a1cfbc903a2c2ba6d8771e581e6dcdb556
BLAKE2b-256 checksum
How to use checksums
37d95964fdf7b7961d824c3c9fef4cd3eaeeb323aed91bf4d4ab735e4390a51e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page