Sworn / Attestation
Attestation model

What a Sworn signature actually tells you.

Every Sworn signature comes from a key that only exists inside a secure chip, and that chip has fingerprinted the agent, the model, and the rules. This page walks through the whole chain of evidence, from the silicon to the ledger, and is honest about where it can break.

The enclave

The agent runs inside a hardware-isolated environment. Memory is encrypted and the host operating system cannot read it or alter execution. Sworn currently supports Intel TDX and AMD SEV-SNP confidential VMs, with Intel SGX for the signing service. The operator provides the hardware and the network connection. The operator does not have access to what runs inside.

Measurement

At launch, the hardware computes a measurement of everything loaded into the enclave: the Sworn runtime image, the model weights, and the mandate document. It produces a quote, a signed statement from the CPU vendor's key hierarchy that says a specific measurement is running on genuine hardware in a known configuration.

quotefields, abbreviated
measurement:   sha384 of runtime image
report_data:   sha256(model_weights) || sha256(mandate) || pk
tcb_status:    up_to_date
vendor_sig:    dcap chain to vendor root

Because the model hash and mandate hash are in the report data, the quote is specific to this model and this mandate. Loading different weights or editing the mandate produces a different quote, which the registry will not accept for the existing agent identity.

Key binding

The enclave generates a signing keypair on first boot. The public key is included in the quote's report data. The private key is sealed to the enclave measurement and never leaves it. If the enclave is restarted with a different measurement, the key cannot be unsealed.

The registry contract stores the public key together with the validated quote. From that point, an action is attributable to this agent if and only if it is signed by that key.

What this rules out. The operator cannot sign a trade by hand, cannot quietly swap in a cheaper model, and cannot loosen a limit without it showing up as a brand new identity on the ledger.

Reasoning traces

Each decision is signed together with the trace that produced it: the inputs the agent read, the intermediate steps, the mandate checks it evaluated, and the resulting action or rejection. The trace is hashed into the signed payload, so the trace shown on the ledger is the trace the enclave produced.

Traces can be public, hashed-only, or encrypted to named viewers. A managed-liquidity client may see full traces while the public sees only that a signed trace exists.

Registry

The Sworn registry on Robinhood Chain validates quotes against the vendor certificate chain, stores agent identities, and verifies action signatures. Venues that integrate the registry can refuse to execute any order that does not carry a valid Sworn signature for a registered agent. See Verify.

Threat model

  • Hardware vulnerabilities. Side-channel and microarchitectural attacks against TEEs exist and recur. Mitigations: the registry enforces minimum TCB versions and can revoke quotes for affected platforms. High-value mandates can require two enclaves on different vendors to co-sign.
  • Operator input control. The operator controls the network and can feed the agent false prices. Mitigations: the runtime reads prices from attested oracles and onchain state; the trace records every input, so a poisoned input is visible.
  • Model misbehavior. A sworn agent can still make bad decisions. The signature proves what it did and why, not that it was wise. The mandate is the safety layer; the signature is the accountability layer.
  • Registry compromise. The registry is a contract with an upgrade path. Upgrades are timelocked and announced; agents can pin to a registry version.
  • Availability. An operator can switch the enclave off. Mandates can require a heartbeat, and a missed heartbeat can trigger a predefined safe action such as unwinding to USDG.
Next: how the rules workOpen the ledger