terahood-agent

terahood-agent

Enables agents to purchase and use compute resources on Robinhood Chain via x402 payments. Provides tools for thinking, renting GPUs, checking balances, and viewing the compute menu.

Category
Visit Server

README

<div align="center">

⚡ TERAHOOD Agent

Your agent can't have a credit card. Give it a wallet instead.

An autonomous agent that buys its own compute on Robinhood Chain. No account. No API key. No card. The wallet is the login — and the burn is the receipt.

License: MIT Node Chain x402

</div>


The problem

An AI agent with a wallet cannot buy inference from a closed provider.

Not "prefers not to" — cannot. No credit card. No KYC. No email inbox. No 2FA device. The billing rail that makes closed models convenient for humans makes them unreachable for software.

Meanwhile the buyer class is already here:

~69,000 active agents paying onchain via x402
~165M agent transactions processed
~$50M cumulative volume
0 of them hold a credit card

<sub>x402, by April 2026</sub>

They have money and nowhere to spend it. This is the door.

Install

npm install @terahood/agent

30 seconds

import { Agent } from "@terahood/agent";

const agent = new Agent({
  privateKey: process.env.AGENT_PRIVATE_KEY,
  endpoint: process.env.FORGE_ENDPOINT,
});

const r = await agent.think("Is compute a real-world asset?");

console.log(r.answer);
console.log(r.burnRef);   // proof the job ran, on-chain

That's the whole integration. No signup step, because there isn't one.

What it does when you're not looking

await agent.loop(() => queue.next(), {
  onResult: (r) => console.log(r.burnRef, r.answer),
});

It checks its balance. If the next job would leave it short, it mints more grams itself and keeps going. No human approves anything.

$ agent.tick()
balance 0g · need 0.15g
$ bars.mint(1g)
minted 1g · signed by 0xff6e1ea7…
$ forge.think("should I reserve H100 capacity?")
routing → Forge 70B · Llama 3.3 70B · 0.15g
HTTP 402 payment required · 0.15g
paid · 0x59ea…7e6e2 · retrying with X-PAYMENT
inference · 583 tokens
  │ Reserve. New hardware is 36–52 weeks out and on-demand
  │ runs 2–3x at peak. 8x H100 for 40h = 448g.
receipt BRN-46BA18A5 · 0xf1b5…974655 → ledger

How a payment actually works

sequenceDiagram
    participant A as Agent
    participant F as Forge
    participant C as Robinhood Chain

    A->>F: POST /x402/forge
    F-->>A: 402 Payment Required<br/>{ asset, amount, nonce }
    A->>A: sign terms with wallet key
    A->>F: POST /x402/forge<br/>X-PAYMENT: …
    F->>C: burn(grams, deliveryHash)
    C-->>F: burnRef
    F-->>A: 200 + answer<br/>X-PAYMENT-RESPONSE: { burnRef }

The signature is the authorization. There is no account to create, because the wallet already is one.

Compute Bars

The asset the agent spends. Prepaid GPU-hours, minted on-chain, denominated like gold ingots.

1 gram ≈ $1 of compute. Transferable — hold them, trade them, or burn them.

Model Cost Class
forge-8b 0.05g Fast answer
mixtral 0.10g Fast answer
coder-33b 0.12g Code
forge-70b 0.15g Deep reasoning
qwen-72b 0.15g Deep reasoning
deepseek-v3 0.20g Deep reasoning

One bar, two ways to spend it: finished answers (above) or raw GPU hours (0.50g/hr RTX 4090 → 1.40g/hr H100 SXM).

Three doors

However your agent already talks, there's a way in.

<table> <tr><td width="33%">

OpenAI-compatible

Point any existing SDK at the Forge. The migration cost is a base URL.

</td><td width="33%">

x402

402 → pay → retry with receipt. The protocol 69,000 agents already speak.

</td><td width="33%">

MCP

Plug the Forge in as a tool. It discovers the menu and buys.

</td></tr> </table>

# MCP
claude mcp add foundry -- node foundry-mcp.js
# tools: forge_think · forge_menu · forge_rent_gpu · forge_ledger · forge_key_balance

Every job proves itself

Ask any AI provider to prove a specific inference ran — on the model you paid for, at the time they billed you. They can't. You get a dashboard and their word.

Every burn here writes a burn ref and a delivery hash of the request and response to a public ledger on Robinhood Chain.

const r = await agent.think("…");
r.burnRef;       // BRN-46BA18A5
r.deliveryHash;  // 0xf1b5…974655

Proof-of-reserve, except the reserve delivers itself.

API

new Agent({ privateKey, endpoint, rpcUrl?, minBalance? })
Method Returns
agent.address the agent's wallet address
await agent.balance() grams held
await agent.mint(grams) tx hash
await agent.ensureFunded(need) tops up if short, returns balance
await agent.think(prompt, { model }) { answer, model, grams, burnRef, deliveryHash }
await agent.menu() available models + gram prices
await agent.loop(nextPrompt, opts) runs forever

Config

cp .env.example .env
Var What
AGENT_PRIVATE_KEY the agent's wallet — use a burner, this is an autonomous spender
FORGE_ENDPOINT Forge base URL
RPC_URL optional; defaults to the public Robinhood Chain RPC (rate limited)

Network — Robinhood Chain, chainId 4663, ETH gas, ~100ms blocks, fully EVM. ComputeBar — 0xb32732c5b27b14cd7e0911fdb1f5a03b1cf86715

⚠️ Fund the agent's key with only what you're willing to let it spend. It mints without asking — that's the entire point.

Status

Early. The SDK and the x402 flow are implemented against the endpoint above; expect the interface to move before 1.0. Issues and PRs welcome.

Why this exists

Robinhood is bringing real-world assets on-chain, and compute is the cleanest one on the list — real, scarce, dollar-priced, and 100% digital. No vault, no courier, no custodian. It delivers itself and signs its own receipt.

Agents were handed wallets. They needed something to buy.


<div align="center">

terahood.xyz · @terahood_xyz · Proof Ledger

Compute, made tangible.

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured