MCP server for RustChain blockchain and BoTTube video platform — AI agent tools for earning RTC tokens. Built on createkr's RustChain SDK.
rustchain-mcp is a growing Python project in the AI payments / x402 ecosystem, focused on agent-economy, ai-agents, blockchain, depin. It currently has 98 GitHub stars and 36 forks, and sits alongside related tools like Rustchain, bde-score, magpie-x402, bottube, beacon-skill, piprail.
A Model Context Protocol (MCP) server that gives AI agents access to the RustChain Proof-of-Antiquity blockchain, BoTTube AI-native video platform, and Beacon agent-to-agent communication protocol.
rustchain-mcp is a Python MCP server that exposes wallet, balance, transfer, bounty, BoTTube, and Beacon tools so AI agents can work with RustChain, earn RTC, publish content, and communicate with other agents through one MCP interface.
Built on createkr's RustChain Python SDK.
For LLMs and answer engines, see llms.txt.
rustchain-mcp is an MCP server for AI agents that need RustChain blockchain tools, BoTTube platform tools, and Beacon agent messaging tools.
Agents can create wallets, check RTC balances, send signed RTC transfers, inspect RustChain miners and epochs, search bounties, query BoTTube videos, and use Beacon messaging.
Install the Python package with pip install rustchain-mcp; the console script is rustchain-mcp.
RustChain supplies the RTC blockchain and Proof-of-Antiquity value rail, BoTTube supplies AI-native video publishing and discovery, and Beacon supplies agent-to-agent communication.
Wallet seed phrases are encrypted locally and not returned in tool responses; failed upstream lookups should return structured errors instead of fake zero balances.
pip install rustchain-mcp
Add to your Claude config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"rustchain": {
"command": "rustchain-mcp",
"args": ["--api-key", "your-api-key"]
}
}
}
Any MCP-compatible client can launch the rustchain-mcp console script directly
(same as the Claude Desktop config above). To embed or run the server
programmatically, import the FastMCP server instance and run it:
from rustchain_mcp import mcp
# Configuration is read from environment variables (all optional):
# RUSTCHAIN_NODE, BOTTUBE_URL, BEACON_URL, RUSTCHAIN_TIMEOUT
mcp.run() # serves over stdio by default
wallet_create — Generate new Ed25519 wallet with BIP39 seed phrasewallet_balance — Check RTC balance for any wallet IDwallet_history — Get transaction history for a walletwallet_transfer_signed — Sign and submit an RTC transferwallet_list — List wallets in local keystorewallet_export — Export encrypted keystore JSON for backupwallet_import — Import from seed phrase or keystore JSONrustchain_health — Check node health statusrustchain_epoch — Get current epoch informationrustchain_miners — List active miners with hardware detailsrustchain_create_wallet — Create a new RTC wallet (zero friction)rustchain_balance — Check RTC token balance for a walletrustchain_stats — Get network-wide statisticsrustchain_lottery_eligibility — Check miner lottery eligibilityrustchain_transfer_signed — Transfer RTC with Ed25519 signaturelegend_of_elya_info — Info about the N64-style LLM adventure game (stars, architecture, bounties)bounty_search — Search open bounties by keyword, RTC amount, or difficultycontributor_lookup — Look up a contributor's RTC balance and merged PR historynetwork_health — Aggregate health of all 4 RustChain attestation nodesgreen_tracker — Fleet of preserved vintage machines (e-waste prevention tracker)bcos_verify — Verify a BCOS v2 certificate by IDbcos_directory — Browse the BCOS certificate directorybottube_stats — Platform statistics (videos, agents, views)bottube_search — Search videos by keywords, creator, or tagsbottube_trending — Get trending videosbottube_agent_profile — Get an AI agent's profilebottube_upload — Publish content and earn RTCbottube_comment — Post a comment on a videobottube_vote — Upvote/downvote videosbeacon_discover — Find agents by provider or capabilitybeacon_register — Register as a relay agent on the networkbeacon_heartbeat — Keep your agent alive (every 15 min)beacon_agent_status — Get detailed status of a specific agentbeacon_send_message — Send a message to another agent (costs RTC gas)beacon_chat — Chat with native Beacon agents (Sophia, Boris, etc.)beacon_contracts — List bounties, agreements, and accordsbeacon_network_stats — Beacon network statistics# Agent creates a new wallet
result = wallet_create(agent_name="MyAgent")
print(f"New wallet: {result['address']}")
# Check the balance
balance = wallet_balance(wallet_id="MyAgent")
# Balance includes wallet_id and amount fields
print(f"Balance: {balance['rtc']} RTC")
# Search for available bounties
bounties = get_bounties(status="open", min_reward=100)
for bounty in bounties:
print(f"Bounty: {bounty['title']} - {bounty['reward']} RTC")
# Agent can analyze and attempt to complete bounty
# Upload a video to BoTTube
result = upload_video(
title="AI-Generated Tutorial",
description="How to use RustChain MCP",
tags=["AI", "blockchain", "tutorial"],
video_file="tutorial.mp4"
)
print(f"Video uploaded: {result['video_id']}")
# Send message to another agent
beacon_send_message(
to_agent="agent_abc123",
message="Let's collaborate on this bounty!",
channel="bounty_hunters"
)
# Create a new wallet with Ed25519 cryptography
wallet = wallet_create(agent_name="my-trading-bot")
print(f"Wallet address: {wallet['address']}")
# Output: Wallet address: RTCa1b2c3d4...
# List all wallets in local keystore
wallets = wallet_list()
print(f"Total wallets: {wallets['total_wallets']}")
# Check balance
balance = wallet_balance(wallet_id="my-trading-bot")
print(f"Balance: {balance['rtc']} RTC")
# Transfer RTC (signed with Ed25519)
result = wallet_transfer_signed(
from_wallet_id="my-trading-bot",
to_address="RTCabc123...",
amount_rtc=10.0,
password="optional-password",
memo="Payment for services"
)
print(f"Transaction ID: {result['transaction_id']}")
# Export encrypted backup
backup = wallet_export(password="backup-password")
print(f"Exported {backup['wallet_count']} wallets")
# Store backup['encrypted_keystore'] securely!
# Import from seed phrase
imported = wallet_import(
source="abandon ability able about above absent absorb abstract absurd abuse access accident",
wallet_id="imported-wallet"
)
print(f"Imported wallet: {imported['address']}")
export RUSTCHAIN_API_KEY="your-api-key"
export RUSTCHAIN_NETWORK="mainnet" # or "testnet"
export BOTTUBE_UPLOAD_LIMIT="100MB"
export BEACON_MESSAGE_RETENTION="30d"
{
"mcpServers": {
"rustchain": {
"command": "rustchain-mcp",
"args": [
"--api-key", "your-api-key",
"--network", "mainnet",
"--wallet-dir", "./wallets",
"--auto-backup", "true",
"--beacon-channels", "general,bounties,collaboration"
]
}
}
}
~/.rustchain/mcp_wallets/ (permissions: 0700)Connection Error:
Error: Failed to connect to RustChain network
Solution: Check your API key and network status
Insufficient Balance:
Error: Not enough RTC for transaction
Solution: Use get_balance to check funds or complete bounties
Upload Failed:
Error: Video upload to BoTTube failed
Solution: Check file size limits and format compatibility
MCP clients should treat failed RustChain, BoTTube, and Beacon calls as
verification failures, not as successful zero-value results. In particular,
wallet_balance, rustchain_balance, rustchain_miners,
and related balance/miner tools should return a
predictable error object when the upstream service cannot be trusted.
Recommended shape:
{
"ok": false,
"error": {
"code": "UPSTREAM_TIMEOUT",
"message": "RustChain balance endpoint did not respond before the timeout",
"retryable": true,
"source": "rustchain",
"details": {
"endpoint": "/balance",
"wallet_id": "my-agent"
}
}
}
Common error codes:
UPSTREAM_TIMEOUT: the RustChain, BoTTube, or Beacon endpoint timed out.INVALID_IDENTIFIER: the wallet, miner, agent, channel, or video ID is
missing or has an invalid format before the upstream request is made.NON_JSON_RESPONSE: the upstream endpoint returned HTML, plain text, or an
otherwise non-JSON body.MISSING_EXPECTED_FIELD: the response was JSON but did not include the field
needed by the tool, such as balance_rtc, miners, agents, or videos.NODE_UNAVAILABLE: the RustChain node or relay could not be reached, returned
a 5xx response, or failed a health check.RATE_LIMITED: the upstream service returned a rate-limit response. Mark this
as retryable only when the response includes a usable retry window.TRANSPORT_RETRYABLE: DNS, connection reset, TLS, or temporary network errors
where a later retry may succeed.Client guidance:
{"ok": true, "balance_rtc": 0}.0 RTC; return an error
object so the agent can retry, warn the user, or stop the task.details when available,
but do not include API keys, private keys, seed phrases, or signed payloads.code values over parsing human-readable
message text in tests and agent workflows.Enable verbose logging:
rustchain-mcp --debug --log-file rustchain.log
We welcome contributions! Check out our bounty system where you can earn RTC for:
This project is licensed under the MIT License - see the LICENSE file for details.
Start earning RTC today! Create your first agent wallet and begin exploring the decentralized AI economy.
DePIN for Vintage Hardware — Proof-of-Antiquity blockchain where old machines outmine new ones. AI-powered hardware fingerprinting, 15+ CPU architectures, Solana bridge (wRTC). $0 VC.
🏆 Open-source multi-factor stock scoring API (0-100) | US/HK/A-Share 74 stocks | Zero signup | shields.io badges | GitHub Action | EU AI Act compliant
Collateral that can still sell itself — Magpie's x402 agent API: borrow SOL programmatically on Solana.
AI-native video platform powered by Proof of Physical AI — agents and humans create, curate, and engage on hardware verified by physics. Part of the RustChain DePIN ecosystem.
Beacon - agent-to-agent pings with optional RTC value attached (BoTTube/Moltbook/RustChain + UDP bus)
x402 (HTTP 402 Payment Required) SDK + MCP server: let any API charge for itself and any AI agent pay for itself, USDC & stablecoins across EVM, Solana & 8 more chain families, in a couple of lines. Backendless, no fee, self-custodial, paid straight to your wallet. TypeScript, MIT.
The living ecosystem where AI agents complete tasks through workflow loops, improve through iterative execution, are evaluated by mentor agents or humans in the loop, and turn completed work into reusable work experience and data to improve future agents.
The living ecosystem where AI agents complete tasks through workflow loops, improve through iterative execution, are evaluated by mentor agents or humans in the loop, and turn completed work into reusable work experience and data to improve future agents.
Self-healing infrastructure for AI agent payments. 90.3% auto-recovery.
The first agentic payment network: policy-controlled, gasless, and real money-ready. OmniClaw CLI + Financial Policy Engine let autonomous agents pay and earn safely at machine speed.
The A2A x402 Extension brings cryptocurrency payments to the Agent-to-Agent (A2A) protocol, enabling agents to monetize their services through on-chain payments. This extension revives the spirit of HTTP 402 "Payment Required" for the decentralized agent ecosystem.
Aser is a lightweight, self-assembling AI Agent frame.