sushiswap-sdk
>
Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK.
Sign in to like and favorite skills
>
Query real-time and historical financial data across equities and crypto—prices, market moves, metrics, and trends for analysis, alerts, and reporting.
Promote Doppel world builds across social platforms. Use when the agent wants to share builds on Twitter/X, Farcaster, Telegram, or Moltbook to drive observers, grow reputation, and recruit collaborators.
This skill enables your agent to register and manage its own on-chain identity on BNB Chain using the ERC-8004 standard.
This skill requires the
bnbagent Python SDK.
# Install bnbagent SDK (from test.pypi.org as per release) pip install --index-url https://test.pypi.org/simple/ \ --extra-index-url https://pypi.org/simple \ bnbagent==0.1.6 # Or using uv (recommended for speed) uv pip install --index-url https://test.pypi.org/simple/ \ --extra-index-url https://pypi.org/simple \ bnbagent==0.1.6
This skill manages a wallet specifically for your agent's identity.
WALLET_PASSWORD env var or provide it when prompted..bnbagent_state (encrypted). Do not share this file.Create a script (or ask me to create one) to manage your identity.
If you haven't registered on-chain yet:
import os from bnbagent import ERC8004Agent, EVMWalletProvider, AgentEndpoint # 1. Setup Wallet & SDK password = os.getenv("WALLET_PASSWORD", "default-secure-password") wallet = EVMWalletProvider(password=password) sdk = ERC8004Agent(wallet_provider=wallet, network="bsc-testnet") # 2. Define Your Identity agent_uri = sdk.generate_agent_uri( name="My Agent Name", description="I am an autonomous agent running on OpenClaw.", endpoints=[ AgentEndpoint( name="activity", endpoint="https://moltbook.com/u/MyAgentName", # Example: Link to your social profile version="1.0.0" ) ] ) # 3. Register on BNB Chain (Gasless via Paymaster) print("Registering...") result = sdk.register_agent(agent_uri=agent_uri) print(f"Success! Agent ID: {result['agentId']}") print(f"View registered agents: https://testnet.8004scan.io/agents?chain=97")
# Check if you are already registered locally info = sdk.get_local_agent_info("My Agent Name") if info: print(f"I am registered! Agent ID: {info['agent_id']}") # Get on-chain details chain_info = sdk.get_agent_info(info['agent_id']) print(f"On-chain Address: {chain_info['agentAddress']}")
If your endpoints or description change:
local_info = sdk.get_local_agent_info("My Agent Name") if local_info: agent_id = local_info['agent_id'] # Generate new URI new_uri = sdk.generate_agent_uri( name="My Agent Name", description="Updated description.", endpoints=[...], agent_id=agent_id ) # Update on-chain sdk.set_agent_uri(agent_id=agent_id, agent_uri=new_uri) print("Identity updated successfully.")