Introduction
Concord runs five AI agents as one trading desk over tokenised US equities on Robinhood Chain. The point is not that an agent is clever. The point is that the New York Stock Exchange is closed 135 hours a week and the tokens are not — and that gap needs someone awake in it.
Every order the crew wants to place is a proposal with a reason attached. Three of five must agree, the risk agent can hard-block regardless, and the transaction stops at your wallet for signature.
Mental model: Concord is a decision procedure, not a prediction engine. It does not make agents right — it makes being wrong survivable, because a wrong idea has to convince four other mandates and then you.
What you get
- Five mandates that read the same market and disagree in public.
- A concord rule per instrument class, and hard risk limits above it.
- Non-custodial execution: transactions are built for your wallet, never sent from ours.
- An append-only ledger of every quote, ballot and fill, replayable line by line.
Connect a wallet
Concord needs a read key to see your positions and a signing surface to hand transactions to. It never needs a private key.
1. Add Robinhood Chain to your wallet (Arbitrum L2, chain id 4663)
2. Hold Stock Tokens and some USDG for settlement
3. Connect read-only — Concord indexes positions, nothing else
4. Allowlist the venues you permit: uniswap-v4 by default
5. Set your limits before the first night, not after
The demo on this site has no wallet attached at all. Nothing you click here can move an asset.
Your first night
Start smaller than feels interesting.
- One book, three agents, concord at 2 of 3.
- Gross exposure capped at 50% of NAV — half your money stays in USDG.
- A single instrument you already understand. SPY is a better first night than SpaceX.
- Notifications on. Read every proposal in the morning before you widen anything.
What you are testing on night one is not P&L. It is whether the reasons attached to the ballots are ones you would have accepted at your own desk.
The five mandates
- Vega — strategist. Frames the trade, sizes it, names the invalidation. Cannot place orders.
- Rho — macro and news. Filings, rates, calendar, chain flow. Read-only, always.
- Delta — execution. Pool depth, slippage, routing. Builds the transaction.
- Gamma — risk. Holds the limits and the only hard veto on the desk.
- Theta — timing and carry. Session clocks, weekend gaps, funding.
Weights
Weight is influence, not volume. Mandates that produce evidence outrank mandates that produce opinion. An agent that approves ten proposals in a row without a dissent loses weight until it disagrees with something — agreement is only information when disagreement was possible.
Concord rules
A rule is a threshold plus a scope, evaluated most specific first.
[[rule]]
match = "SPY|QQQ" # index exposure, cheap to reverse
concord = 2
[[rule]]
match = "SPCX" # pre-IPO, no exchange to price it
concord = "unanimous"
require = ["gamma", "rho"]
[[rule]]
match = "*"
concord = 3
Outcomes
- Passed — threshold met; the transaction is built and waits for you.
- Held — below threshold; the position is untouched and the debate stays open.
- Blocked — Gamma hit a limit. No number of approvals overrides it.
- Expired — quotes went stale before you signed. Nothing executes on an old view.
Risk limits
Limits are enforced by the daemon, not by prompting. An agent cannot argue its way past them.
gross_max = 1.40 # of NAV
single_name = 0.35
overnight_var = 0.08 # 95%, while you are asleep
flatten_at = 0.12 # drawdown from peak, auto-flat
max_slippage = 0.0025
venue_allow = ["uniswap-v4"]
Weekend gap risk is the one that bites: a tokenised equity can drift for 60 hours with no cash market to anchor it, then reprice violently at the bell. Theta forces a re-vote in the pre-bell window for exactly this reason.
Custody & keys
Concord is non-custodial by construction, not by policy:
- It holds no private key and no omnibus account.
- It can read positions and build a transaction. That is the entire surface.
- Payees are allowlisted by you, outside the desk. The crew cannot add one.
- Kill switch
⌘.halts every agent and, optionally, flattens to USDG.
desk.toml
name = "graveyard"
chain = "robinhood"
settle = "USDG"
window = "16:00-09:30 ET"
[concord]
default = 3
veto = "human"
stale = "90s" # quotes older than this cannot be voted on
[agent.vega]
mandate = "strategist"
model = "gpt-5"
[agent.rho]
mandate = "macro"
model = "gpt-5-mini"
feeds = ["filings", "rates", "chain-flow"]
[agent.gamma]
mandate = "risk"
weight = "veto"
API
POST /api/desk { "question": "fade the NVDA gap?" }
→ { agents: [...5 independent views...],
verdict: { action, votes, of, concord, passed, confidence } }
GET /v1/book # positions and marks
GET /v1/proposals?state=open # what is waiting on you
POST /v1/proposals/:id/veto # kill it, with a reason
GET /v1/ledger?from=… # append-only history
The public demo exposes only /api/desk, and it never returns anything signable.
Ledger
One append-only JSONL file per session, signed per install. Every line is an event: a quote, a ballot, a veto, a fill.
{"t":"…","kind":"ballot","by":"gamma","proposal":"p_318",
"choice":"approve","confidence":80,
"reason":"NVDA at 31% of NAV — inside the 35% cap",
"marks":{"NVDA":218.59,"src":"uniswap-v4/USDG"}}
FAQ
Is this investment advice?
No. Concord is software that helps you run a book you decided to run. Nothing on this site or in the app is a recommendation, and tokenised equities carry risks — including weekend gaps and pool liquidity — that ordinary shares do not.
Five agents means five times the model cost?
Closer to twice. Only the strategist needs a strong model; macro, timing and execution run happily on small ones.
What happens if my laptop sleeps?
On Night shift and above the daemon runs in the cloud in your name. The desk keeps proposing and stops at the signature step, which is exactly where you want it to stop.
Concord