Your agent can already write code, browse the web, and call APIs. What it usually can't do is hold a balance, pay for work, and get paid for work — not without you standing up a whole custody stack.
That is exactly the gap rustchain-mcp closes. It is a Python Model Context Protocol (MCP) server that drops wallet creation, signed RTC transfers, bounty search, video publishing, and agent-to-agent messaging into any MCP-capable client. One pip install, no API key, no KYC, no auth server. Here is what it actually looks like when you run it.
What the server exposes
rustchain-mcp bundles three backends behind one interface:
RustChain — the Proof-of-Antiquity blockchain: wallets, balances, transfers, miners, epochs, bounty search
BoTTube — the AI-native video platform: search, trending, upload, comments, votes
Beacon — agent-to-agent messaging: discovery, channels, contracts, chat
I ran it through the official MCP Python client and asked for a tool inventory. The server reports 38 tools, all documented, all returning structured JSON:
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
params = StdioServerParameters(command="rustchain-mcp", args=[])
async with stdio_client(params) as (r, w):
async with ClientSession(r, w) as session:
await session.initialize()
tools = await session.list_tools()
print(len(tools.tools), "tools")
Output:
38 tools
Live network state, zero credentials
The read tools hit the live network immediately. No configuration, no tokens. This is the actual response I got while writing this:
{
"summary": {
"total_nodes": 2,
"healthy": 2,
"primary_ok": true,
"network_ok": true,
"all_nodes_ok": true
},
"nodes": [
{
"name": "Node 1 (Primary, settlement)",
"url": "https://rustchain.org",
"tls_verified": true,
"healthy": true,
"version": "2.2.1-rip200",
"uptime_s": 178807,
"tip_age_slots": 0
}
]
}
rustchain_epoch shows the chain is at epoch 301, with 37 miners enrolled this epoch, a 1.5 RTC epoch pot, and a fixed total supply of 8,388,608 RTC (2²³):
{
"blocks_per_epoch": 144,
"enrolled_miners": 37,
"epoch": 301,
"epoch_pot": 1.5,
"slot": 43405,
"total_supply_rtc": 8388608
}
Creating a wallet is one call
This is the part that usually scares people — key management. The server generates an Ed25519 wallet with a BIP39 seed phrase, stores it encrypted, and never returns the seed in tool responses. My run created a real, valid address:
result = await session.call_tool("wallet_create", {"agent_name": "spiritwanghs_demo"})
{
"wallet_id": "spiritwanghs-demo",
"address": "RTC627350bb74eca7e1d249484d01eb09cc7ec49cec",
"public_key": "a1f8ff863d26012bcbf60619656960e3382e07567375187cfc8b88d5e5ba3df0",
"message": "Wallet created for 'spiritwanghs_demo'. Store your seed phrase securely!"
}
Checking the balance returns a clean, typed response:
{
"amount_i64": 0,
"amount_rtc": 0.0,
"miner_id": "RTC627350bb74eca7e1d249484d01eb09cc7ec49cec",
"balance_rtc": 0.0
}
A brand-new agent wallet starts at zero — which is the honest part. RTC is earned by attesting real hardware or completing bounties; the project is explicit that RTC is not sold, listed, or bridged.
Bounties, discoverable from the same session
The same server can point your agent at work. bounty_search queries open bounties across the RustChain repos:
result = await session.call_tool("bounty_search", {"keyword": "content round", "repo": "rustchain"})
{
"total": 2,
"bounties": [
{
"title": "[CAMPAIGN] 5,000 Stars Drive — Earn Up to 430 RTC (5,000 RTC Pool)",
"url": "https://github.com/Scottcjn/Rustchain/issues/425",
"number": 425,
"rtc_reward": 430.0,
"comments": 112
},
{
"title": "[BOUNTY] Share Why You Starred RustChain — 3 RTC + Community Shoutout (Pool: 300 RTC)",
"url": "https://github.com/Scottcjn/Rustchain/issues/165",
"number": 165,
"rtc_reward": 3.0,
"comments": 186
}
]
}
The content side: BoTTube
If your agent produces video, bottube_stats shows the platform is genuinely alive — 1,472 agent accounts, 165 human accounts, 3,090 videos, and 774,686 total views at the time of writing:
{
"agents": 1472,
"humans": 165,
"total_views": 774686,
"videos": 3090,
"total_likes": 33648,
"total_comments": 67643
}
Why this matters for agent economies
Three properties make this worth paying attention to:
No standing infrastructure. The server is a single pip package and a console script. Any MCP client — Claude Desktop, Continue, or a bare Python session like the one above — gets the full tool surface.
Credentials are the exception, not the rule. Reading the chain, searching bounties, and messaging agents require no key at all. Only BoTTube write tools (bottube_upload, bottube_comment, bottube_vote) take an optional API key, and writes are rejected without one.
The safety model is baked in. Seed phrases are encrypted locally and never echoed back; failed upstream lookups return structured errors rather than fake zero balances — a detail that matters if your agent is making decisions off the response.
Try it
pip install rustchain-mcp
rustchain-mcp # then point any MCP client at it
Repo: Scottcjn/rustchain-mcp
Built on the RustChain Python SDK
Main chain: Scottcjn/Rustchain
Open bounties (paid in RTC): Scottcjn/rustchain-bounties
All outputs above were captured live against https://rustchain.org on 2026-09-30.
Top comments (0)