NoLeak

March 20, 2026 · View on GitHub

"Should I execute this right now?"

NoLeak is a standalone pre-execution decision oracle for autonomous agents. Before any action fires, NoLeak scores it against historical patterns, capital risk, and rate limits — then returns a binary execute/wait decision with a cryptographic Guaranteed Execution Record (GER).

Not EP. EP handles authorization ("is this agent allowed?"). NoLeak handles execution integrity ("should this fire right now?"). Two independent services. They never call each other.

The Problem

Autonomous agent systems leak value silently:

  • Signals go unexecuted because no system checked timing
  • Tasks drop without anyone noticing
  • Capital sits idle when it should be deployed
  • Bad signals fire when they should have been held

NoLeak catches all of these before they happen.

How It Works

Agent → POST /noleak/check → NoLeak scores the signal → execute or wait

                            GER stored in Postgres
                            Learning fed back to QMD

Every decision produces a Guaranteed Execution Record (GER) — a SHA-256 hash of the full decision payload. This is a tamper-proof log proving the system evaluated the signal and made a deliberate choice.

API

POST /noleak/check

Request:

{
  "signal": {"action": "trade", "coin": "ETH"},
  "capital": 50,
  "agent_id": "your_agent"
}

Response:

{
  "shouldExecute": true,
  "score": 0.75,
  "ger": {
    "hash": "89d9e915...0786a354",
    "agent_id": "your_agent",
    "action": "trade",
    "timestamp": "2026-03-20T15:21:24Z",
    "latency_ms": 23
  },
  "reasoning": {
    "qmd_score": 0.72,
    "capital_ratio": 0.05,
    "recent_actions_1h": 0,
    "threshold": 0.35
  }
}

GET /noleak/ger/:hash

Look up any past decision by its GER hash. Returns the full decision record including signal, score, and outcome.

GET /noleak/status

Returns operational stats: total checks, execution rate, average score, average latency.

Scoring

NoLeak uses a hybrid QMD (Query Memory Dispatcher) approach:

  • Postgres (80%) — Historical win rates for this action pattern from the learnings table (stream='noleak')
  • Capital risk — High capital commitment (>50% of max) penalizes the score
  • Rate limiting — More than 20 actions per hour triggers heavy penalty
  • Threshold — Score >= 0.35 = execute. Below = wait.

Every decision writes back to the learnings table, so scoring improves over time.

GER (Guaranteed Execution Record)

Every /noleak/check call produces a GER stored in the noleak_ger Postgres table:

FieldDescription
ger_hashSHA-256 of full decision payload
agent_idWho requested the check
actionWhat action was evaluated
signalFull signal payload (JSONB)
capitalCapital at risk
scoreNoLeak confidence score (0.0-1.0)
should_executeBinary decision
latency_msDecision time in milliseconds
created_atTimestamp

GERs are immutable and queryable via GET /noleak/ger/:hash.

Architecture

  • Runtime: Python Flask on port 5070
  • Database: Postgres (noleak_ger table for GERs, learnings table for QMD)
  • Service: systemd (noleak.service, Restart=always)
  • Scoring: Postgres-backed QMD with capital + rate limit modifiers
  • Separation: 100% independent of EP. Own server, own port, own tables, own logic.

Pricing

TierPriceDescription
basic-check$0.01/callExecute/wait decision + GER hash
daily-sub$5.00/dayUnlimited checks

Live on Virtuals ACP

Not EP

EP AgentIAMNoLeak
QuestionIs this authorized?Should I execute?
Endpoint/ep/validate/noleak/check
Outputproof_hash + policyGER + confidence score
PortRender (443)EC2 (5070)
GitHubachilliesbot/execution-protocolachilliesbot/noleak
ConnectionNone — fully independentNone — fully independent