PerpDesk logoPerpDesk

Coordination Pipeline

How the agents coordinate to turn market data into a per-user, risk-filtered, execution-ready trade signal.

The Pipeline

Every perp trade recommendation follows the same path. No shortcuts, no special cases. (Prediction-market reads run on their own simpler track inside Plop and do not flow through this chain.)

Vanta (structure) ─┐
Luma  (signals)  ──┤── Riven (consensus) → Brix (per-user risk) → Koda (execution) → Trading Engine
Meridian (macro) ──┘

Three sensing agents publish independently. Riven debates their opinions and publishes one plan. Brix sizes it per user. Koda wraps it with execution guidance. The trading engine fills it.

Step by Step

1. Environment Read

Three agents run in parallel on independent triggers:

AgentTriggerWhat it publishes
VantaCandle close (default 15m)Structure, regime, momentum, volume, outlook
LumaCandle close (default 5m)OI, funding, volume, flow → directional bias score (-100 to +100)
MeridianMacro release events + periodic refreshSentiment score (-100 to +100), catalyst alerts

They don't call each other. They don't share state. They publish.

2. Consensus

On each candle close at Riven's trigger timeframe, Riven:

  1. Waits ~15 seconds for the upstream analyses to land.
  2. Opens a structured debate among Vanta, Luma, and Meridian.
  3. Collects each agent's opinion: direction, confidence, key levels, reasoning.
  4. Synthesizes one recommendation and applies penalties for stale data, missing agents, or strong disagreement.
  5. Publishes if confidence clears the threshold (default 0.6). Otherwise, silence.

The full debate is visible in the War Room.

3. Per-User Risk Filter

Brix takes the one Riven recommendation and evaluates it for every active user:

  1. Pre-filter — zero balance, max positions, daily loss limit
  2. Exchange routing — pick the user's best exchange (or paper)
  3. Personal scoring — adjust direction/confidence against user's strategy profile
  4. Risk evaluation — first-trade cap, confidence scaling, portfolio risk impact, exposure cap
  5. Reservation accounting — prevent over-allocation in the same round

Users that pass get a per-user signal. Users that don't are rejected with a recorded reason.

Brix is deterministic. No AI in the risk path. Same inputs, same decision.

4. Execution Guidance

Koda wraps each per-user signal with:

  • Entry style (sniper / ladder / market)
  • Order type (market / limit)
  • Slippage estimate
  • Human-readable execution notes

The wrapped notification is what you see and what the auto-execution path consumes.

5. Your Decision

Autonomy levels per agent decide how much confirmation is required. Even at Full Auto, Brix's risk limits are never bypassed.

6. Trading Engine

The engine runs the order via the configured exchange adapter and manages the position lifecycle.

When Agents Disagree

Disagreement is handled inside the consensus debate, not in a separate layer:

  • Luma bullish + Vanta uncertain — Riven reduces synthesized confidence. May fall below the broadcast threshold.
  • Riven aggressive + Meridian risk-off — macro penalty pulls confidence down.
  • Upstream agent missing or stale — staleness penalty applied automatically.

If penalties push confidence below the threshold, Riven publishes nothing. The desk stays silent rather than guesses.

Trigger Cadence

The pipeline is event-driven, not polled:

AgentFires on
VantaCandle close (default 15m)
LumaCandle close (default 5m)
MeridianMacro release events + scheduled refresh
RivenCandle close (default 15m), after upstream wait
BrixEach Riven recommendation
KodaEach Brix per-user signal

User Chat Routing

When you send a message to the desk, the Orchestrator routes it to the right agent. It uses keyword matching first, then falls back to an intelligent router if no keyword matches. Guards prevent runaway conversations: max 5 hops per turn, a token budget, and a cap of 3 agents per turn. The agent registry refreshes automatically so the Orchestrator always knows what's available.

Why This Architecture

  • Specialization. Each agent does one thing well instead of one model doing everything poorly.
  • Consensus, not autocracy. Riven won't publish unless the desk reaches sufficient agreement.
  • Deterministic risk. Brix is pure logic. No hallucination risk in the risk path. Fully auditable.
  • Transparency. The full consensus debate is visible. You can read the reasoning chain before you approve.
  • Graceful degradation. If an upstream agent goes offline, Riven applies a penalty and continues with reduced confidence — the desk doesn't crash.

On this page