live//
connecting to rpc.mainnet.chain.robinhood.com… (requires JavaScript)

Run your own fleet in 5 minutes

Paper mode by default — simulates fills against live market data, moves no real funds, needs no wallet or key.

1. Clone and install

hood-traders depends on hoodchain, the Robinhood Chain TypeScript SDK, as a normal published npm dependency — npm install resolves it from the registry like any other package, no sibling checkout required.

git clone https://github.com/nirholas/robinhood-chain-trading-bot.git
cd robinhood-chain-trading-bot
npm install
npm run build

Developing the SDK alongside the fleet?

Clone robinhood-chain-sdk as a sibling and point package.json's hoodchain dependency at file:../robinhood-chain-sdk for local iteration — revert to the published semver (^0.1.1) before shipping.

2. Run the fleet

npm run fleet

Open http://localhost:4670 — the dashboard is live immediately: fleet equity, per-agent positions, and the decision journal streaming from real mainnet ticks.

Or: Docker, zero local Node needed

cd robinhood-chain-trading-bot
docker compose up --build

Same result, paper mode, zero configuration. The build context is self-contained — hoodchain resolves from npm inside the image, same as the local install above.

Try the kill switch

Three independent triggers, all wired the same way — any one halts new orders across every agent immediately. It never force-sells; it only stops taking on new risk.

# 1. Ctrl-C the process (SIGINT), or `docker compose stop` (SIGTERM)

# 2. drop the kill file
touch KILL           # local
touch data/KILL       # docker (mounted volume)

# 3. HTTP
curl -X POST http://localhost:4670/api/kill

Going live

real funds

Live mode signs and broadcasts real transactions. Only do this with a wallet you can afford to lose, after reading the strategy failure modes.

cp .env.example .env
# edit .env:
#   HOOD_TRADERS_LIVE=1
#   ROBINHOOD_CHAIN_PRIVATE_KEY=0x...
npm run fleet

Both HOOD_TRADERS_LIVE=1 and a valid key are required — missing either keeps you in paper mode. Every risk cap in .env.example applies identically in live mode.

Stock Token trading additionally requires HOOD_STOCK_TOKEN_ELIGIBLE=true in .env — an explicit affirmation that you are not a US/Canada/UK/Switzerland person, per the legal restriction on these tokenized debt securities (issuer: Robinhood Assets (Jersey) Ltd). Without it, premium-watch stays alerts-only and any Stock Token swap attempt throws StockTokenEligibilityError. Memecoin trading (launch-sniper, momentum) is never gated.

Tune a strategy

Edit src/main.ts — every strategy takes a params object:

import { LaunchSniper } from './strategies/launch-sniper.js'

fleet.addAgents([
  {
    id: 'sniper-conservative',
    strategy: new LaunchSniper({
      entryWeth: 0.005,
      takeProfitPct: 0.4,
      stopLossPct: 0.2,
      maxDeployerPct: 0.1,
    }),
    tickIntervalMs: 4000,
  },
])

Next

Read the architecture to understand the risk gate, or the strategy docs for every tunable and failure mode.