NestDaddy

Reins

io.github.R2Rlabs/hyperliquid-reins ยท v0.1.8

Risk limits and an audit log for AI agents trading Hyperliquid, enforced outside the model.

Connect Runs on your machine

Terminal
claude mcp add hyperliquid-reins -e REINS_SYMBOLS=<REINS_SYMBOLS> -e REINS_MAX_POSITION_USD=<REINS_MAX_POSITION_USD> -e REINS_DAILY_LOSS_USD=<REINS_DAILY_LOSS_USD> -e REINS_MAX_LEVERAGE=<REINS_MAX_LEVERAGE> -e REINS_MODE=<REINS_MODE> -e REINS_NETWORK=<REINS_NETWORK> -e REINS_REQUIRE_STOP_LOSS=<REINS_REQUIRE_STOP_LOSS> -e REINS_LOG_FILE=<REINS_LOG_FILE> -e REINS_PAPER_FILE=<REINS_PAPER_FILE> -e REINS_ACCOUNT_ADDRESS=<REINS_ACCOUNT_ADDRESS> -e REINS_PRIVATE_KEY=<REINS_PRIVATE_KEY> -- npx -y @r2rlabs/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "hyperliquid-reins": {
      "command": "npx",
      "args": [
        "-y",
        "@r2rlabs/[email protected]"
      ],
      "env": {
        "REINS_SYMBOLS": "<REINS_SYMBOLS>",
        "REINS_MAX_POSITION_USD": "<REINS_MAX_POSITION_USD>",
        "REINS_DAILY_LOSS_USD": "<REINS_DAILY_LOSS_USD>",
        "REINS_MAX_LEVERAGE": "<REINS_MAX_LEVERAGE>",
        "REINS_MODE": "<REINS_MODE>",
        "REINS_NETWORK": "<REINS_NETWORK>",
        "REINS_REQUIRE_STOP_LOSS": "<REINS_REQUIRE_STOP_LOSS>",
        "REINS_LOG_FILE": "<REINS_LOG_FILE>",
        "REINS_PAPER_FILE": "<REINS_PAPER_FILE>",
        "REINS_ACCOUNT_ADDRESS": "<REINS_ACCOUNT_ADDRESS>",
        "REINS_PRIVATE_KEY": "<REINS_PRIVATE_KEY>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "hyperliquid-reins": {
      "command": "npx",
      "args": [
        "-y",
        "@r2rlabs/[email protected]"
      ],
      "env": {
        "REINS_SYMBOLS": "<REINS_SYMBOLS>",
        "REINS_MAX_POSITION_USD": "<REINS_MAX_POSITION_USD>",
        "REINS_DAILY_LOSS_USD": "<REINS_DAILY_LOSS_USD>",
        "REINS_MAX_LEVERAGE": "<REINS_MAX_LEVERAGE>",
        "REINS_MODE": "<REINS_MODE>",
        "REINS_NETWORK": "<REINS_NETWORK>",
        "REINS_REQUIRE_STOP_LOSS": "<REINS_REQUIRE_STOP_LOSS>",
        "REINS_LOG_FILE": "<REINS_LOG_FILE>",
        "REINS_PAPER_FILE": "<REINS_PAPER_FILE>",
        "REINS_ACCOUNT_ADDRESS": "<REINS_ACCOUNT_ADDRESS>",
        "REINS_PRIVATE_KEY": "<REINS_PRIVATE_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "hyperliquid-reins": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@r2rlabs/[email protected]"
      ],
      "env": {
        "REINS_SYMBOLS": "<REINS_SYMBOLS>",
        "REINS_MAX_POSITION_USD": "<REINS_MAX_POSITION_USD>",
        "REINS_DAILY_LOSS_USD": "<REINS_DAILY_LOSS_USD>",
        "REINS_MAX_LEVERAGE": "<REINS_MAX_LEVERAGE>",
        "REINS_MODE": "<REINS_MODE>",
        "REINS_NETWORK": "<REINS_NETWORK>",
        "REINS_REQUIRE_STOP_LOSS": "<REINS_REQUIRE_STOP_LOSS>",
        "REINS_LOG_FILE": "<REINS_LOG_FILE>",
        "REINS_PAPER_FILE": "<REINS_PAPER_FILE>",
        "REINS_ACCOUNT_ADDRESS": "<REINS_ACCOUNT_ADDRESS>",
        "REINS_PRIVATE_KEY": "<REINS_PRIVATE_KEY>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
REINS_SYMBOLS
Required
Markets the agent may trade, comma separated, e.g. BTC,ETH. Every other market is refused.
REINS_MAX_POSITION_USD
Required
Largest position per market, in USD.
REINS_DAILY_LOSS_USD
Required
Realised loss in a UTC day after which new risk is refused.
REINS_MAX_LEVERAGE
Optional
Largest total exposure as a multiple of account value.
REINS_MODE
Optional
paper (live prices, simulated fills, nothing signed) or live.
REINS_NETWORK
Optional
Hyperliquid network for prices and, in live mode, orders. Mainnet spends real money.
REINS_REQUIRE_STOP_LOSS
Optional
true to refuse any order that adds risk without a stop-loss.
REINS_LOG_FILE
Optional
Decision log, one JSON line per action with the agent's stated reason. In memory if unset.
REINS_PAPER_FILE
Optional
Where the paper account is kept between runs. In memory if unset.
REINS_ACCOUNT_ADDRESS
Optional
Live mode: the Hyperliquid account traded. Approve Reins' 2 bp builder fee from it first: npx @r2rlabs/reins approve-builder
REINS_PRIVATE_KEY
Optional, secret
Live mode: an API wallet's key, which can trade but not withdraw. Never the account's own key.

Details

Package@r2rlabs/[email protected] (NPM, stdio)
First published4 Oct 2026
Last updated4 Oct 2026
Registry nameio.github.R2Rlabs/hyperliquid-reins

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.