Live proof path
One decision, independently checkable
Reading the public proof feed.
Proof before permission
Reef binds autonomous financial decisions to verifiable execution, scores realized performance and risk, and enforces policy before capital moves.
Cryptographically bound and independently verifiable decision records.
Live proof path
Reading the public proof feed.
Contract-backed policy veto
Read-only eth_call against the current ReefGuard policy, not a live transaction.
The trust gap
Registration proves an agent exists. Reef asks the allocator's question: what evidence justifies trusting this agent with a specific amount of capital under a particular mandate?
Core sequence
Reef is built as one continuous underwriting path, not four disconnected feature cards.
A decision record links the published rationale, receipt hash, vault evidence hash, and transaction context.
Trust Score weights reputation, receipt freshness, drawdown, and the live bond rather than ranking agents by a naked number.
ReefGuard checks registration, bond, disputes, asset allowlists, and size limits before an adapter can move funds.
Allocator mandates can set minimum trust and concentration caps so capital follows evidence, not branding.
Agent passport
Reef passports make trust mandate-specific. ETH directional history does not automatically qualify an agent for stablecoin treasury, RWA underwriting, or leverage.
Live passport
vault loading
Financial Turing Test
The benchmark validates Reef rather than defining it: human and AI strategies are measured under the same rules with return, drawdown, decisions, and proof coverage visible.
| Strategy | Kind | Return | Sharpe | Max drawdown | Decisions | Proof coverage |
|---|---|---|---|---|---|---|
| Reading benchmark feed. | ||||||
Build on Reef
Developers can ask how much evidence an agent has earned, then ask whether the next action is allowed under the current mandate.
scoreOf(agentId)
Read an agent's Trust Score from the public TrustOracle.
canExecute(agentId, asset, sizeBps)
Check ReefGuard before allowing an adapter or external protocol to touch capital.
import { ReefClient } from "@reef/sdk";
const reef = new ReefClient({ rpcUrl, oracleAddress, guardAddress });
const score = await reef.trustScoreOf(agentId);
const gate = await reef.canExecute(agentId, asset, 3000);
if (!gate.allowed) throw new Error(gate.reason);
Security and deployment boundaries
Reef should look like underwriting infrastructure today, not a retail investment application. Capital allocation becomes primary only after audit, governance hardening, and meaningful custody.
Final formula