Skip to main content
Glama

r0x-os

The official SDK, Claude Code / MCP plugin, and facilitator docs for r0x, the USDG-native operating system for AI agents, built on Robinhood Chain.

r0x runs the official x402 facilitator for Robinhood Chain. AI agents can use it right now: discover a priced capability, authorize a USDG payment, and invoke it, all in one uninterrupted call. No API keys, no subscriptions, no human approving anything in between.

Live site: projectr0x.dev · Facilitator docs: docs/facilitator.md · Skill reference: docs/skills.md

What's in this repo

  • SDK (src/client): a TypeScript client (R0xClient) that handles the x402 challenge/sign/retry cycle automatically. Published as r0x-os on npm.

  • Claude Code / MCP plugin (src/plugin): exposes the full skill catalog as MCP tools, plus local wallet setup and a spend-limit guard.

  • Virtuals GAME integration (integrations/virtuals-game): a GAME SDK worker that gives any Virtuals agent the same skill catalog as fifteen callable functions, with optional auto-broadcast of trades and transfers.

  • Docs (docs/): how the facilitator works and the full skill reference.

  • Examples (examples/): a minimal, dependency-light reference client.

Related MCP server: hoodr MCP Server

Install

npm install r0x-os
import { R0xClient } from 'r0x-os';

const client = new R0xClient({ privateKey: process.env.R0X_PRIVATE_KEY });

// $0.01 USDG per call, settled automatically
const { data } = await client.price('ETH');
console.log(data.priceUSD);

const balance = await client.balance('0x...');
console.log(balance.data.balances);

See docs/skills.md for every method the client exposes.

Claude Code plugin

/plugin marketplace add nhevers/project-r0x
/plugin install r0x-os

Or add it directly as an MCP server:

claude mcp add r0x -- npx r0x-os

No private key is needed upfront, the agent calls r0x_setup on first use to either import an existing wallet or generate a fresh one. After that, eighteen tools are available: r0x_setup, balance, tx, price, wallet, chat, send, fund, broadcast, spend_limit, trade, quote, pool, liquidity_add, liquidity_remove, liquidity_positions, yield, and bridge. trade, quote, pool, and liquidity_* all accept any ERC20 token on Robinhood Chain, not just ETH and USDG — there's no allowlist.

Virtuals GAME agents

Any agent built on the Virtuals GAME SDK can plug straight into r0x. See integrations/virtuals-game for a worker exposing the full skill catalog as GAME functions, with optional auto-broadcast of trades, transfers, and liquidity transactions.

Building from source

git clone https://github.com/nhevers/project-r0x.git
cd project-r0x
npm install
npm run build      # compiles src/ -> dist/
npm run example:tx # runs the reference test-transaction script

How the facilitator works

Read docs/facilitator.md for the full protocol walk-through, or jump straight to examples/test-transaction.js for a working ~80-line client.

License

MIT, see LICENSE.

Available Tools

18 tools
balanceCheck balanceA

ETH + USDG balance for any Robinhood Chain address. Costs $0.01 USDG.

Inputs: address (required).

bridgeGet a bridge quoteA

Across Protocol bridge quote for moving USDC or WETH from Ethereum, Arbitrum or Base onto Robinhood Chain. Costs $0.01 USDG.

Inputs: token (required), amount (required), originChainId (required).

broadcastSign and broadcast a transactionA

Signs an unsigned transaction (from the send tool) with a private key and broadcasts it on Robinhood Chain. Costs $0.01 USDG. Defaults to the wallet configured via r0x_setup if no privateKey is given. Use with care, this moves real funds.

Inputs: tx (required), privateKey.

chatChat with the r0x agentA

Sends a message to the r0x agent and returns its reply. Costs $0.01 USDG.

Inputs: message (required).

fundCheck funding statusA

Balance plus step-by-step funding instructions for a Robinhood Chain address. Costs $0.01 USDG.

Inputs: address (required).

liquidity_addAdd liquidity to a Uniswap V3 poolA

Mints a Uniswap V3 liquidity position for any token pair on Robinhood Chain, with a custom price range. Costs $0.01 USDG. amountA/amountB are maximums — the contract only pulls what the chosen range actually needs. Comes back as steps (approvals, then mint); broadcast them in order. Pass the result to the broadcast tool to actually sign and send it.

Inputs: tokenA (required), tokenB (required), amountA (required), amountB (required), +1 more.

liquidity_positionsList Uniswap V3 positionsA

Lists every Uniswap V3 liquidity position NFT owned by an address on Robinhood Chain, with tick range, liquidity, and uncollected fees for each. Costs $0.01 USDG.

Inputs: address (required).

liquidity_removeWithdraw a Uniswap V3 positionA

Withdraws and collects a Uniswap V3 liquidity position on Robinhood Chain by tokenId (from liquidity_add or liquidity_positions). Costs $0.01 USDG. If the position involves ETH, the WETH leg is automatically unwrapped back to native ETH. Comes back as steps; broadcast them in order. Pass the result to the broadcast tool to actually sign and send it.

Inputs: tokenId (required), burn.

poolCheck pool liquidityA

Uniswap V3 pool reserves and implied price for any token pair on Robinhood Chain — pass "ETH", "USDG", or any ERC20 address. Costs $0.01 USDG.

Inputs: tokenA (required), tokenB (required).

priceCheck token priceB

Current USD price for ETH or USDG. Costs $0.01 USDG.

Inputs: token (required).

quoteGet a swap price quoteA

Live Uniswap V3 swap price quote for any token pair on Robinhood Chain — pass "ETH", "USDG", or any ERC20 address, no transaction constructed. Costs $0.01 USDG.

Inputs: tokenIn (required), amountIn (required), tokenOut (required).

r0x_setupSet up r0x walletA

One-time setup for the r0x plugin. Import an existing Robinhood Chain wallet by private key, or generate a fresh one locally (no payment required to generate). The wallet is stored at ~/.r0x/config.json and reused by every other r0x tool.

Inputs: mode (required), privateKey.

sendConstruct a transferA

Constructs an unsigned ETH or USDG transfer transaction on Robinhood Chain. Costs $0.01 USDG. Pass the result to the broadcast tool to actually sign and send it.

Inputs: to (required), token (required), amount (required).

spend_limitGet or set the spend limitA

Local-only safety guard, never touches the server. Reads or sets a USD cap on total spend across all paid r0x tools in this session. Omit "setUSD" to just check status.

Inputs: reset, setUSD.

tradeSwap any two tokensA

Constructs a real Uniswap V3 swap transaction between any two tokens on Robinhood Chain — pass "ETH", "USDG", or any ERC20 address, there is no allowlist. Costs $0.01 USDG. Anything needing an approval first comes back as steps (approve, then swap); broadcast them in order. Pass the result to the broadcast tool to actually sign and send it.

Inputs: tokenIn (required), amountIn (required), tokenOut (required), slippageBps.

txLook up a transactionA

Decoded transaction details for any Robinhood Chain tx hash. Costs $0.01 USDG.

Inputs: hash (required).

walletGenerate a wallet (server-side)A

Generates a fresh Robinhood Chain keypair via the r0x facilitator. Costs $0.01 USDG. For your own agent wallet, prefer the free local generation in r0x_setup instead.

Inputs: no named parameters.

yieldCheck USDG yieldA

Live Morpho steakUSDG vault APY, the vault behind Robinhood Earn. Costs $0.01 USDG.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 18 tools

    Disambiguation4/5

    Most tools have distinct purposes (balance vs. fund, send vs. trade), but wallet and r0x_setup overlap slightly, and quote/pool both provide price-related data. Descriptions are clear enough to guide an agent.

    Naming Consistency3/5

    All tool names are lowercase with underscores, but the style mixes nouns (balance, price, pool) and verbs (send, broadcast, trade). Compound names like liquidity_add and spend_limit are inconsistent with simple verb-first patterns, making the set feel somewhat uneven.

    Tool Count4/5

    18 tools cover a broad DeFi and chain-introspection surface without being excessive. The count is slightly above the ideal 3-15 range but is justified by the diversity of operations (swaps, liquidity, bridge, yield).

    Completeness3/5

    Core functions like transfers, swaps, liquidity management, and balances exist, but balance only supports ETH/USDG despite any-token swaps. Bridge is quote-only, and there is no arbitrary-token balance or transaction history tool, leaving notable gaps for agents.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI models to manage Robinhood portfolios, execute trades, and run automated trading bots with stop-loss/take-profit monitoring.
      1
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to trade tokenized stocks (e.g., NVDA, TSLA) on Robinhood Chain via MCP, with non-custodial keys and spending caps.
      17 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to autonomously quote, execute, and verify on-chain payments in USDG on Robinhood Chain (chainId 4663) under spending policy caps, alongside live PONS price, launch-token metadata, market, and balance lookups. Payments are signed, broadcast, and only marked confirmed once the on-chain receipt and expected USDG transfer event verify.
      9
      64 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to autonomously quote, execute, and verify USDG payments on Robinhood Chain 4663 under configurable spending caps, while accessing PONS price, token, balance, and launch-market intelligence through MCP tools.
      9
      64 npm
      MIT