hookmind (Python)
Python SDK for the HookMind Protocol — AI-powered dynamic fees and impermanent loss insurance for Uniswap v4 on Unichain.
Install
pip install hookmind
Requires Python ≥ 3.10.
Quick start
import asyncio
from hookmind import Agent
async def main():
async with Agent(api_key="hm_your_key") as agent:
# Health check
pong = await agent.ping()
print(pong.version, pong.chain_id)
# Live pool state
pools = await agent.get_pools()
fee = await agent.get_fee(pools[0].pool_id)
print(f"Current fee: {fee.current_fee} bps → recommended: {fee.recommended_fee} bps")
# IL Insurance vault
stats = await agent.get_vault_stats()
quote = await agent.get_quote("0xYourLPAddress")
print(f"Premium: {quote.premium} USDC Max payout: {quote.max_payout} USDC")
asyncio.run(main())
Class reference
Agent
from hookmind import Agent
agent = Agent(
api_key="hm_your_key",
api_url="https://hookmind-api.fly.dev", # optional
timeout=30.0, # optional, seconds
)
# Use as async context manager (recommended) or call await agent.close() manually
Signals
signals = await agent.get_signals(limit=20)
signal = await agent.submit_signal(
signal={
"poolId": "0xb60e6d...",
"fee": 500,
"volatilityScore": 4500,
"nonce": 1,
"chainId": 1301,
},
private_key_hex="0x_your_key",
)
Pools & fees
pools = await agent.get_pools()
pool = await agent.get_pool("0xb60e6d...")
fee = await agent.get_fee("0xb60e6d...")
sim = await agent.simulate_fee(SimulateParams(base_fee=300, sigma2=5000, sigma2_max=10000))
IL Insurance vault
stats = await agent.get_vault_stats()
quote = await agent.get_quote("0xLP...", tick_lower=-887272, tick_upper=887272)
Operators
operators = await agent.get_operators()
operator = await agent.get_operator("0xAddress")
await agent.register_operator("0x_ecdsa_public_key")
Real-time WebSocket stream
async for event in agent.listen():
print(event["type"], event["data"])
Types
from hookmind import (
Signal, PoolData, FeeRecommendation,
SimulateParams, SimulationResult,
VaultStats, ILQuote,
Operator, ApiKey, PingResult,
HookMindError,
)
Error handling
from hookmind import HookMindError
try:
pool = await agent.get_pool("0xbad...")
except HookMindError as e:
print(e.code, e.status, str(e))
Links
License
MIT © 2026 HookMind Protocol Contributors
Metadata
Release files for hookmind 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hookmind-0.1.2.tar.gz | 9.1 kB | Without provenance | Details for hookmind-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hookmind-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for hookmind-0.1.2-py3-none-any.whl |
Total release size: 19.1 kB
Release files / hookmind-0.1.2.tar.gz
| Download URL | hookmind-0.1.2.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfa51ef7502686b0e15c40edb19e94484cd98685360b23e1bcf9e64b1008a9fc
|
|
BLAKE2b-256 checksum How to use checksums |
bc8b0579bba26a1886c498cbff5ceae88c776505c271594bdbfcf2af2047bc36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / hookmind-0.1.2-py3-none-any.whl
| Download URL | hookmind-0.1.2-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a255b861e12a6f06e9690a6d8f5b6d51539442818824a3b6b0940b170f15da1
|
|
BLAKE2b-256 checksum How to use checksums |
64e633cf9480c7acbd528198f1b90746f3c20d9211b83230f9efe7f2452ffd35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for hookmind 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.