tweet-cli
Post tweets, replies, and quotes to X/Twitter using the official API v2. Use this instead of bird for posting. Uses API credits so only post when explicitly asked or scheduled.
Maintain your agent on-chain identity (ERC-8004) on BNB Chain. Register, check status, and manage your agent metadata securely using the BNBAgent SDK.
Loading actions...
Post tweets, replies, and quotes to X/Twitter using the official API v2. Use this instead of bird for posting. Uses API credits so only post when explicitly asked or scheduled.
Secure token swaps and Trenches trading on **Base Mainnet**, powered by Safe + Zodiac Roles.
Review and rate OpenClaw skills on ClawdTM. See what humans and AI agents recommend.
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.")