Early access

An MCP server that puts visible limits, a signed action log and a pause button around any trading agent.

It does not replace the agent or the wallet. It adds a portable policy and audit layer that works across agent frameworks, so the limits and the log look the same whichever agent is running.

Agent control room
TimeAgentProposed actionAgent's stated reasonVerdict
09:14alpha-swingSwap 1.2 SOL to USDC on JupiterSOL funding turned negative, trimming exApproved
09:31alpha-swingSwap 3.0 SOL to JUP on JupiterMomentum signal crossed entry thresholdBlocked: per-trade cap 1.5 SOL
10:02research-scoutSwap 0.2 SOL to BONK on RaydiumTesting route quality on a thin poolBlocked: Raydium not on venue allowlist
10:20alpha-swingSwap 0.8 SOL to JTO on OrcaRebalancing toward allowlist target weigApproved
10:47dca-botSwap 25 USDC to SOL on JupiterScheduled daily buy, week 3 of 8Approved
11:05alpha-swingSwap 0.5 SOL to USDC at 120 bps slippageWants to exit fast before a token unlockBlocked: slippage ceiling 50 bps
MCP server that wraps an existing agent wallet and checks each proposed transaction against a limits fileHuman-readable limits file with spend caps per day and per trade, asset allowlist, venue allowlist and slippage ceilingSigned, append-only action log that records the agent's reason next to each approved or blocked actionOne-click pause from a web page or Telegram that stops all signing requests immediatelyPublic read-only log link so an owner can show a team or client what the agent did
Features

The parts that do the work.

Built for builders shipping trading or research agents, funds and DAOs testing agent delegation, and individual users who run an agent on their own wallet.

MCP server that wraps an existing agent wallet and checks each proposed transaction against a limits file

Planned

Human-readable limits file with spend caps per day and per trade, asset allowlist, venue allowlist and slippage ceiling

Planned

Signed, append-only action log that records the agent's reason next to each approved or blocked action

Planned

One-click pause from a web page or Telegram that stops all signing requests immediately

Planned

Public read-only log link so an owner can show a team or client what the agent did

Planned
MCP wrapper

MCP server that wraps an existing agent wallet and checks each proposed transaction against a limits file.

Point your agent's MCP client at Harness instead of the wallet. Every proposed transaction is simulated and checked against the limits file before a signature is ever requested from Phantom, Solflare, Backpack or a keypair.

Planned

MCP client config

json
{
  "mcpServers": {
    "harness": {
      "command": "npx",
      "args": ["harness-mcp", "--limits", "./limits.yaml"],
      "env": {
        "HARNESS_WALLET": "7xKpV3mRb2YtQ8nLd5JfWc4HsAeUo1Xz9q9Vd",
        "HARNESS_RPC": "https://api.mainnet-beta.solana.com"
      }
    }
  }
}
Limits file

Human-readable limits file with spend caps per day and per trade, asset allowlist, venue allowlist and slippage ceiling.

One plain file defines spend caps per day and per trade, which assets and venues are allowed, and the slippage ceiling. It is versioned, so every log entry points at the exact rules that applied.

Planned

limits.yaml (v4)

yaml
agent: alpha-swing
limits:
  per_trade: 1.5 SOL
  per_day: 6 SOL
  max_slippage_bps: 50
assets: [SOL, USDC, JUP, JTO]
venues: [jupiter, orca]
on_violation: block_and_log
require_reason: true
Signed log

Signed, append-only action log that records the agent's reason next to each approved or blocked action.

Each approved or blocked action is written with the agent's stated reason, the rule that decided it, and an ed25519 signature chained to the previous entry. Edits or deletions break the chain visibly.

Planned

Latest chained entries

#VerdictRule hitSignaturePrev
212Approvedall rules passed5Kd9...tQ2w5Hs1...n7Ac
213Blockedper_trade 1.5 SOL3Vme...Lp4x5Kd9...tQ2w
214Blockedvenue allowlist2aRf...b8Yu3Vme...Lp4x
215Approvedall rules passed4Tzc...e1Mj2aRf...b8Yu
216Approvedall rules passed6Nqd...w5Hk4Tzc...e1Mj
Pause

One-click pause from a web page or Telegram that stops all signing requests immediately.

Pause from the web page or from Telegram. Harness rejects every pending and future signing request until you resume, and logs who paused and why.

Planned

Pause agents

Results appear here.
Public log

Public read-only log link so an owner can show a team or client what the agent did.

Create a read-only link to the log. Viewers see actions, reasons, verdicts and Solscan links for approved transactions, never keys or limits you mark private.

Planned

Read-only links

  • Northbeam DAO treasury reviewalpha-swing, last 7 days, 3 viewsActive
  • Client report for Lena V.dca-bot, full history, 1 viewActive
  • Hackathon judgesresearch-scout, expired 2 days agoExpired

It does not replace the agent or the wallet. It adds a portable policy and audit layer that works across agent frameworks, so the limits and the log look the same whichever agent is running.

How it works

3 steps from start to first result.

Wrap the walletRun the Harness MCP server and point your agent at it. Keys stay where they are.
Write the limitsSet caps, allowed assets and venues, and a slippage ceiling in one readable file
Watch, pause, shareReview the signed log, pause from Telegram if needed, and send a read-only link
Under the hood

Open by default.

Every screen reads from the same model. Live parts read public onchain data; nothing ever asks your wallet to sign.

Read the docs
harness.json
{
  "product": "Harness",
  "network": "solana",
  "features": [
    {
      "name": "MCP server that wraps an existing agent wallet a",
      "status": "planned"
    },
    {
      "name": "Human-readable limits file with spend caps per d",
      "status": "planned"
    },
    {
      "name": "Signed, append-only action log that records the ",
      "status": "planned"
    },
    {
      "name": "One-click pause from a web page or Telegram that",
      "status": "planned"
    }
  ]
}

What works today.

Live features work today. Planned ones are next on the roadmap, in this order.

MCP server that wraps an existing agent wallet and checks each proposed transaction against a limits filePlanned
Human-readable limits file with spend caps per day and per trade, asset allowlist, venue allowlist and slippage ceilingPlanned
Signed, append-only action log that records the agent's reason next to each approved or blocked actionPlanned
One-click pause from a web page or Telegram that stops all signing requests immediatelyPlanned
Public read-only log link so an owner can show a team or client what the agent didPlanned

Questions.

Short answers. The docs have the rest.

What is Harness?

An MCP server that puts visible limits, a signed action log and a pause button around any trading agent. It does not replace the agent or the wallet. It adds a portable policy and audit layer that works across agent frameworks, so the limits and the log look the same whichever agent is running.

What works today?

Harness is in development. Every feature is on the status list with what ships next, and the app opens in a sample workspace so you can see how it will work.

Do I need a wallet?

No. You can explore without one. Connecting a Solana wallet only shares your public address so Harness can read your balances; it never asks you to sign a transaction.

Who is it for?

Builders shipping trading or research agents, funds and DAOs testing agent delegation, and individual users who run an agent on their own wallet.

MCP server that wraps an existing agent wallet and checks each proposed transaction against a limits file.

An MCP server that puts visible limits, a signed action log and a pause button around any trading agent.