01

Keys stay sealed

The model plans the transaction. It never touches the key that signs it.

02

Sign in your wallet

Every action arrives as a MetaMask prompt you read before you approve.

03

Compose with MCP

Plug in only the servers an agent needs: chains, tokens, compilers, signing.

Why ROXI

Agents get capability. You keep custody.

  • Reasoning, not custody

    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

  • Key isolation by design

    Signing lives in MetaMask or another supported wallet. The agent only ever sees the unsigned transaction and its result.

    Zero key exposure

  • Scoped tool access

    Each MCP server is a separate capability. Give an agent chain lookups without signing, or tokens without contracts.

    Least privilege

  • Approval is the last step

    Nothing reaches the chain without your signature. Check the call, the amount and the network, then decide.

    Human in the loop

The execution path

From a sentence to a signed transaction.

Four stages, each with a clear owner: the model reasons, MCP servers prepare, your wallet signs, the chain settles.

  1. 01 · Intent

    Describe the outcome

    Tell the agent what you want in plain language, like “send 50 USDC to alice.eth on Base”. No ABIs, no scripts.

  2. 02 · Plan

    ROXI plans the call

    The request is routed to the right MCP module, which resolves the network, builds the transaction and simulates it.

  3. 03 · Sign

    You review and sign

    Your wallet opens with the exact transaction. Approve or reject it; the private key never leaves the wallet.

  4. 04 · Settle

    The chain settles it

    The signed transaction is broadcast and confirmed, and the result goes back to the agent so it can carry on.

MCP modules

Four servers. One execution interface.

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

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

Agentmetamask-mcpMetaMask promptYou signBroadcast

Module 02

chainlist-mcp

Network awareness. Resolves RPC endpoints, chain IDs and native symbols so every other module targets the right chain.

Architecture overview

Agentchainlist-mcpRPC · chain ID · symbolTransaction modules

Module 03

erc20-mcp

Token actions. Builds transfers and approvals for ERC-20 tokens, then passes them on for your signature.

Architecture overview

Agenterc20-mcpchainlist-mcpmetamask-mcpTransfer or approval

Module 04

solc-mcp

Contracts from conversation. Compiles Solidity with solc-js and sends the output to the signer for deployment.

Architecture overview

Agentsolc-mcpsolc-jsCompiled outputSigner

Under the hood

Reasoning on one side. Custody on the other.

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

  • Role-bound agents

    Agents act inside the tasks and rules you define, so their behavior stays predictable.

  • A module per capability

    Each new skill is a new MCP server, added without touching the rest of the stack.

Wallet side · authorizes

  • Wallet-only signing

    Signatures always come from the user’s wallet. The agent can propose, never authorize.

  • Model-agnostic

    Bring Claude, GPT or another LLM, and MetaMask or another supported wallet.

Get started

Give your agent hands. Keep the keys.

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.

Quick startnpm
# run the signing server
$ npx -y @roxi-os/metamask-mcp

# agent proposes, you approve
✓ transaction ready for review
✓ awaiting your signature
All packages on npm