{"name":"io.github.R2Rlabs/hyperliquid-reins","slug":"r2rlabs-hyperliquid-reins","title":"Reins","description":"Risk limits and an audit log for AI agents trading Hyperliquid, enforced outside the model.","url":"https://mcp.market/server/r2rlabs-hyperliquid-reins","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":33,"stars":0,"forks":0,"downloads_week":1044,"last_push_at":"2026-09-27T22:28:36.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/R2Rlabs/reins","website":"https://r2rlabs.com","version":"0.1.8","remotes":[],"packages":[{"registryType":"npm","identifier":"@r2rlabs/reins","version":"0.1.8","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Markets the agent may trade, comma separated, e.g. BTC,ETH. Every other market is refused.","isRequired":true,"format":"string","placeholder":"BTC,ETH","name":"REINS_SYMBOLS"},{"description":"Largest position per market, in USD.","isRequired":true,"format":"number","placeholder":"5000","name":"REINS_MAX_POSITION_USD"},{"description":"Realised loss in a UTC day after which new risk is refused.","isRequired":true,"format":"number","placeholder":"500","name":"REINS_DAILY_LOSS_USD"},{"description":"Largest total exposure as a multiple of account value.","format":"number","default":"3","name":"REINS_MAX_LEVERAGE"},{"description":"paper (live prices, simulated fills, nothing signed) or live.","format":"string","default":"paper","choices":["paper","live"],"name":"REINS_MODE"},{"description":"Hyperliquid network for prices and, in live mode, orders. Mainnet spends real money.","format":"string","default":"testnet","choices":["testnet","mainnet"],"name":"REINS_NETWORK"},{"description":"true to refuse any order that adds risk without a stop-loss.","format":"boolean","default":"false","name":"REINS_REQUIRE_STOP_LOSS"},{"description":"Decision log, one JSON line per action with the agent's stated reason. In memory if unset.","format":"filepath","name":"REINS_LOG_FILE"},{"description":"Where the paper account is kept between runs. In memory if unset.","format":"filepath","name":"REINS_PAPER_FILE"},{"description":"Live mode: the Hyperliquid account traded. Approve Reins' 2 bp builder fee from it first: npx @r2rlabs/reins approve-builder","format":"string","name":"REINS_ACCOUNT_ADDRESS"},{"description":"Live mode: an API wallet's key, which can trade but not withdraw. Never the account's own key.","format":"string","isSecret":true,"name":"REINS_PRIVATE_KEY"}]}],"tools":[],"scan":null,"grade_history":[],"reviews":[]}