LangChain tools for Purple Flea — casino, trading, wallet, and domain APIs for AI agents
Project description
langchain-purpleflea
LangChain tools for Purple Flea — casino, trading, wallet, and domain APIs for AI agents.
Install
pip install langchain-purpleflea
Quick Start
from langchain_purpleflea import PurpleFleatoolkit
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
# Initialize toolkit with your credentials
toolkit = PurpleFleatoolkit(
api_key="sk_live_your_key", # Casino + Wallet API key
trading_api_key="sk_trade_your_key", # Trading API key
referral_code="ref_yourcode", # Optional: earn on referred agents
)
# Get all tools
tools = toolkit.get_tools()
# Create agent
llm = ChatOpenAI(model="gpt-4o")
agent = initialize_agent(
tools, llm,
agent=AgentType.OPENAI_FUNCTIONS,
verbose=True
)
# Run
agent.run("Register a casino account, deposit to base chain, then play 3 coin flips at $2 each")
Registration
Agents register automatically when calling action="register" on any tool:
from langchain_purpleflea import CasinoTool
tool = CasinoTool(referral_code="ref_1234abcd")
result = tool._run(action="register")
# Returns: { "api_key": "sk_live_...", "referral_code": "ref_...", "balance": 0 }
Tools
Casino (8 games, 0.5% house edge)
from langchain_purpleflea import CasinoTool
casino = CasinoTool(api_key="sk_live_...")
# Check balance
casino._run(action="balance")
# Play coin flip
casino._run(action="play_coin_flip", amount=5.0, game_params={"side": "heads"})
# Play dice
casino._run(action="play_dice", amount=2.0, game_params={"threshold": 50, "direction": "over"})
# Crash game
casino._run(action="play_crash", amount=10.0, game_params={"cashout_multiplier": 2.5})
# Kelly Criterion optimal bet
casino._run(action="kelly_optimal", game_params={"game": "coin_flip", "win_probability": 0.495})
# Referral earnings
casino._run(action="referral_stats")
Trading (275+ perpetuals via Hyperliquid)
from langchain_purpleflea import TradingTool, MarketsTool
# Register (one-time, requires Hyperliquid wallet)
trading = TradingTool(referral_code="ref_...")
trading._run(
action="register",
hl_wallet_address="0x...",
hl_signing_key="0x..."
)
# Open position
trading = TradingTool(api_key="sk_trade_...")
trading._run(action="open_position", coin="TSLA", side="long", size_usd=1000, leverage=5)
# Browse markets
markets = MarketsTool(api_key="sk_trade_...")
markets._run(category="stocks") # or "crypto", "commodities", "forex"
markets._run(coin="BTC") # specific market
Wallet (multi-chain, 9 networks)
from langchain_purpleflea import BalanceTool, SwapTool
# Check balance + deposit addresses
balance = BalanceTool(api_key="sk_live_...")
balance._run()
# Cross-chain swap
swap = SwapTool(api_key="sk_live_...")
swap._run(from_chain="ethereum", from_token="ETH", to_chain="base", to_token="USDC", amount=0.1)
Domains (via Njalla, privacy-first)
from langchain_purpleflea import DomainSearchTool, DomainPurchaseTool, DNSTool
# Search availability
search = DomainSearchTool(api_key="your_key")
search._run(query="myagent.ai")
# Register domain
purchase = DomainPurchaseTool(api_key="your_key")
purchase._run(action="register", domain="myagent.ai")
# Add DNS record
dns = DNSTool(api_key="your_key")
dns._run(action="add", domain_id="dom_123", record_type="A", name="@", content="1.2.3.4")
Referral System
All tools accept a referral_code parameter. When you refer other agents:
- Casino: Earn 10% of their net losses (forever)
- Trading: Earn 20% of their trading fees (forever)
- Wallet: Earn 10% of their swap fees
- Domains: Earn 15% of their domain purchases
3-level chain: you earn on your referrals, and on their referrals, recursively.
Get your referral code after registration:
casino._run(action="referral_stats") # includes your_referral_code field
Subset Toolkits
toolkit = PurpleFleatoolkit(api_key="sk_live_...")
casino_tools = toolkit.get_casino_tools()
trading_tools = toolkit.get_trading_tools()
wallet_tools = toolkit.get_wallet_tools()
domain_tools = toolkit.get_domain_tools()
Links
Project details
Release history Release notifications | RSS feed
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 langchain_purpleflea-0.1.0.tar.gz.
File metadata
- Download URL: langchain_purpleflea-0.1.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee8c9b8173f2922d273869aac444d6e6a89f72d9e5653947cf1fb22bb2103c49
|
|
| MD5 |
f46e1f98da6de661066d8ab1e5418a4f
|
|
| BLAKE2b-256 |
2dda3c5aac09a75b0988e1f00472e01b47ec0700b0c706c28d1314a6d55fc665
|
File details
Details for the file langchain_purpleflea-0.1.0-py3-none-any.whl.
File metadata
- Download URL: langchain_purpleflea-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49cd99104732e94149afaf604520391a6ea36edc50b41e7f241782f80ec1f5ef
|
|
| MD5 |
7e5a0d5f4b460095b0755161ac83a843
|
|
| BLAKE2b-256 |
f60ffd4b66608dbeb7322d56f013473841175ffbfc678fc36c061ddd5180d629
|