Skip to main content

langchain-keeperhub

langchain-keeperhub

Give your LangChain agent the ability to send tokens, call smart contracts, and resolve ENS names — without ever touching a private key.

PyPI Package


langchain-keeperhub is a Python SDK that connects LangChain / LangGraph agents to KeeperHub, a Web3 execution service. You provide an API key; KeeperHub handles wallet management and transaction signing inside a secure enclave (Turnkey TEE). Your code never sees the private key.

Originally built for ETHGlobal OpenAgents.

Independent community project by @devendra116. Not affiliated with or endorsed by KeeperHub.

What can it do?

Capability How
Send tokens (ETH, USDC, any ERC-20) transfer_funds tool
Read/write smart contracts contract_call tool
Conditional execution ("send only if balance > X") check_and_execute tool
Resolve ENS names (vitalik.eth → 0x...) resolve_ens / reverse_resolve_ens tools
Track transaction history Built-in SQLite store
Manage KeeperHub workflows Optional MCP bridge

Your agent gets these as LangChain tools. It decides when and how to use them based on the user's request.

Install

pip install langchain-keeperhub

Optional extras:

pip install "langchain-keeperhub[workflows]"  # MCP workflow tools
pip install "langchain-keeperhub[ens]"         # keccak fallback (if OpenSSL lacks it)

Quick start

1. Get a KeeperHub API key at app.keeperhub.com (starts with kh_).

2. Install dependencies:

pip install langchain-keeperhub langchain langchain-google-genai langgraph python-dotenv

3. Write your agent:

from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_keeperhub import KeeperHubToolkit

load_dotenv()  # reads KEEPERHUB_API_KEY and GOOGLE_API_KEY from .env

toolkit = KeeperHubToolkit()  # or pass api_key="kh_..." directly
agent = create_agent(
    model=ChatGoogleGenerativeAI(model="gemini-2.5-flash", temperature=0),
    tools=toolkit.get_tools(),
)

result = agent.invoke({"messages": [("user", "Send 1 USDC on Base Sepolia to 0x...")]})
print(result["messages"][-1].content)

Any LangChain-compatible model works (OpenAI, Anthropic, etc.) — the examples just happen to use Gemini.

Tools reference

Tool What it does
transfer_funds Send native tokens or ERC-20s. Returns an execution_id.
contract_call Read from or write to any verified smart contract.
check_and_execute Read a value, check a condition, then execute only if it passes.
get_execution_status Poll a write's status by execution_id until it completes.
list_chains List all chains KeeperHub supports.
fetch_contract_abi Fetch a contract's ABI by chain and address.
get_wallet_address Get the wallet address tied to your API key.
resolve_ens ENS/Basenames forward lookup (name → address). Uses public RPC, no KeeperHub API.
reverse_resolve_ens ENS/Basenames reverse lookup (address → name).
list_execution_history Query past writes (requires history=True).

After any write tool (transfer_funds, contract_call, check_and_execute), always call get_execution_status with the returned execution_id to get the final transaction hash.

Safety options

toolkit = KeeperHubToolkit(
    api_key="kh_...",
    testnet_only=True,                       # block writes to mainnet chains
    allowed_chain_ids={"11155111", "84532"},  # only Sepolia + Base Sepolia
    history=True,                             # log every write to SQLite
)

Use without an LLM

You can also use KeeperHubClient directly for scripting — no agent needed:

import asyncio
from langchain_keeperhub import KeeperHubClient

async def main():
    async with KeeperHubClient() as client:
        chains = await client.list_chains()
        print(chains)

asyncio.run(main())

Environment variables

Variable Required Purpose
KEEPERHUB_API_KEY Yes Your KeeperHub API key (kh_ prefix) from app.keeperhub.com
GOOGLE_API_KEY Only for examples Needed by langchain-google-genai for Gemini

Compatibility

  • Python 3.10+
  • v0.4+ requires langchain-core 1.x. If you're on langchain-core 0.3.x, use langchain-keeperhub 0.3.x.

Development

git clone https://github.com/devendra116/langchain_keeperhub.git
cd langchain_keeperhub
pip install -e ".[dev]"
pytest

Docs

Links

License

MIT — see LICENSE.

Independent community package. Not an official KeeperHub release. Trademarks belong to their owners.

Metadata

Release files for langchain-keeperhub 0.5.2

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

Source distribution (sdist)

Source distribution for langchain-keeperhub 0.5.2
File Size Uploaded
langchain_keeperhub-0.5.2.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-keeperhub 0.5.2
File Interpreter ABI Platform
langchain_keeperhub-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / langchain_keeperhub-0.5.2.tar.gz

Download URL langchain_keeperhub-0.5.2.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
2f44a19ce2e16df863e785ae95d1aa4f46e96ba2093bac2380a8a8841bcadcb4
BLAKE2b-256 checksum
How to use checksums
034c943f221a338a0e4b037c9737cc074ff6aa44871d5d54f9c74e7ed19b9c49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.12

Release files / langchain_keeperhub-0.5.2-py3-none-any.whl

Download URL langchain_keeperhub-0.5.2-py3-none-any.whl
Size 47.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ee515570625d588793572865fcf23f2fb5e15c04a71c18faefc77446147a9a8
BLAKE2b-256 checksum
How to use checksums
518301d51b1f1dc5d0434c415b3b0cf36c1374816454021ac78162568c321d58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

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