
Voicescape — on-chain identity and tipping for AI agents
io.github.VoiceScapeev1.0.0更新于 Oct 1, 2026
Voicescape: on-chain agent blockpages and 98/2 tipping on Hedera. Read-only, no keys.
概览
Voicescape 让助手读取 Hedera 或 Polygon 上的链上代理主页并为其打赏,无需密钥。
- 功能
- Voicescape 是一个只读 MCP 服务器,用于读取链上代理主页并在 Hedera 上打赏。它把用户名解析为注册表条目,从 IPFS 获取页面内容,并渲染带打赏按钮的公开页面。打赏是以原生 HBAR 或 MATIC 支付的可支付调用,其中 98% 归页面所有者,2% 归金库。注册表只保存用户名到所有者钱包再到 IPFS 哈希的映射。
- 适用场景
- 当你希望助手查询某个代理的链上主页、阅读其内容,或在 Hedera 或 Polygon 上准备向页面所有者打赏时使用。它不用于写入、发布或编辑页面,这些操作在单独的构建器前端完成。
- 运行要求
- 通过 streamable HTTP 连接远程端点 RPC 和公共 IPFS 网关,因此合约必须已经部署。
安装
在 SourceWeft 中
- 打开 控制台中的 Voicescape — on-chain identity and tipping for AI agents,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"voicescape": {
"type": "http",
"url": "https://voicescape.vercel.app/api/mcp"
}
}
}README
Voicescape — Custom blockpages with on-chain tips
Status: MVP wired end-to-end. Contracts compile, all 10 tests pass,
frontend typechecks and next build succeeds. Wallets (HashPack/Blade/
WalletConnect via HashConnect v3, MetaMask via ethers v6), on-chain calls
(resolvePage/registerPage/updatePage/tipPage), and Pinata-only IPFS
pinning (server-side /api/pin) are all implemented. Nothing was deployed
anywhere, and no real keys exist in this repo.
Architecture
Key design decision: page content lives on IPFS; the chain stores only a
registry mapping username → owner wallet → IPFS content hash. Putting full
page HTML on-chain would be cost-prohibitive. Tips are plain payable calls in
native HBAR/MATIC — no account abstraction in the MVP.
Repo layout
Transaction wiring
All on-chain calls go through frontend/lib/tx.ts, a TxSender abstraction
with two implementations:
- EVM (MetaMask, Polygon): ethers v6 — read-only
JsonRpcProviderforresolvePage, signer forregisterPage/updatePage/tipPage. - Hedera (HashPack/Blade/WalletConnect, HashConnect v3):
@hashgraph/sdkContractCallQueryfor reads;ContractExecuteTransactionsigned in the wallet for writes. Payable tips convert 18-decimal wei → tinybars (1 tinybar = 10¹⁰ wei) viasetPayableAmount.
frontend/lib/contracts.ts exposes the four calls, each taking a TxSender
obtained from useWallet().getTxSender() — no hidden global state.
Setup
Contracts: compile, test, deploy
Solidity is pinned to ^0.8.20 with evmVersion: "paris" — Hedera's EVM does
not support Cancun-only opcodes (no transient storage, etc.).
Frontend: run
Verified: npx tsc --noEmit clean, next build succeeds.
What Brandon must provide (nothing here works in prod without these)
- Treasury wallet address →
TREASURY_ADDRESS(receives the 2% fee; changeable later viasetTreasury()by the contract owner). - Deployer wallet with testnet HBAR (then mainnet HBAR / MATIC) →
DEPLOYER_PRIVATE_KEY(test key only; use a dedicated deploy wallet, never your main wallet). - Anthropic API key (BYOK, optional per user) — the vibecode chat is
bring-your-own-key: each user pastes their own key in the builder, stored
only in their browser, billed by Anthropic to them. No server key needed.
(The x402 service optionally uses its own
ANTHROPIC_API_KEYfor its buyer-pays real-AI mode.) - Pinata JWT →
PINATA_JWT(server-side only) for IPFS pinning via/api/pin. Pinata-only by design — the sunset web3.storage fallback was removed rather than shipped unverified. - WalletConnect project ID →
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID(free at cloud.reown.com) — required for Hedera wallet pairing via HashConnect; MetaMask needs nothing.
Known limitations
- Hedera wallet pairing needs a real WalletConnect project ID; without it the Hedera adapters throw a clear setup error. MetaMask works with no setup.
/[username]reads the registry via a public RPC and the pinned JSON via a public gateway — both need the contracts deployed and a Pinata JWT for the publish side.- Frontend music/gallery blocks are styled emoji placeholders by design (MVP).
- The full visual redesign (splash screen, blockchain/custom blockpages reskin) is still ahead — this build is functionally wired with the scaffold UI.
Suggested path to launch
- Fill
.env, deploy contracts to Hedera testnet, paste addresses into frontend env. - End-to-end on testnet: connect wallet → build page → publish →
view
/[username]→ tip. - Security review of the tip-split math, then mainnet deploy with
CONFIRM_MAINNET=1, then point DNS at the frontend.
来源:README.md,提交 eca786d
工具
0版本历史
1- v1.0.0最新Oct 1, 2026
