Module 01
metamask-mcp
The signing bridge. Hands a prepared transaction to MetaMask, waits for your decision, and reports the outcome back to the agent.
Architecture overview
Why ROXI
ROXI lets a model work out what should happen onchain, then stops at the point of signing. No shared keys, no delegated wallets.
Non-custodial
Signing lives in MetaMask or another supported wallet. The agent only ever sees the unsigned transaction and its result.
Zero key exposure
Each MCP server is a separate capability. Give an agent chain lookups without signing, or tokens without contracts.
Least privilege
Nothing reaches the chain without your signature. Check the call, the amount and the network, then decide.
Human in the loop
The execution path
Four stages, each with a clear owner: the model reasons, MCP servers prepare, your wallet signs, the chain settles.
01 · Intent
Tell the agent what you want in plain language, like “send 50 USDC to alice.eth on Base”. No ABIs, no scripts.
02 · Plan
The request is routed to the right MCP module, which resolves the network, builds the transaction and simulates it.
03 · Sign
Your wallet opens with the exact transaction. Approve or reject it; the private key never leaves the wallet.
04 · Settle
The signed transaction is broadcast and confirmed, and the result goes back to the agent so it can carry on.
MCP modules
Each module owns a single job and works with the others through ROXI. Run the full set, or only what your agent needs.
Module 01
The signing bridge. Hands a prepared transaction to MetaMask, waits for your decision, and reports the outcome back to the agent.
Architecture overview
Module 02
Network awareness. Resolves RPC endpoints, chain IDs and native symbols so every other module targets the right chain.
Architecture overview
Module 03
Token actions. Builds transfers and approvals for ERC-20 tokens, then passes them on for your signature.
Architecture overview
Module 04
Contracts from conversation. Compiles Solidity with solc-js and sends the output to the signer for deployment.
Architecture overview
Under the hood
ROXI OS keeps a hard line between what a model decides and what a wallet authorizes. The two meet only at the signature.
Model side · proposes
Agents act inside the tasks and rules you define, so their behavior stays predictable.
Each new skill is a new MCP server, added without touching the rest of the stack.
Wallet side · authorizes
Signatures always come from the user’s wallet. The agent can propose, never authorize.
Bring Claude, GPT or another LLM, and MetaMask or another supported wallet.
Community
Follow releases, talk to the team, and ship modules alongside other builders.
Get started
Add the ROXI MCP servers to your AI client, connect a wallet, and let your agent propose its first onchain action, with you signing off on every one.
# run the signing server
$ npx -y @roxi-os/metamask-mcp
# agent proposes, you approve
✓ transaction ready for review
✓ awaiting your signatureAll packages on npm