Arcveil
Documentation

Docs. The format, the checks, and the code that produces both.

Arcveil gives an agent a mandate instead of keys. Every settled action leaves a receipt that proves the action stayed inside that mandate — without revealing the mandate, the balances, or the reasoning. These pages describe the receipt, the five checks that decide whether to believe it, and the TypeScript SDK that issues and verifies them.

Start here

Verify a receipt in code

The same five checks the site runs, in about ten lines. Two are local crypto; three read Arc mainnet over plain JSON-RPC, which allows cross-origin requests — so this works unchanged in a browser.

verify.ts
// Five checks against Arc mainnet, from Node or a browser.import { arc, ARC_REGISTRIES, createRpcChainReader, parseReceiptInput, verifyReceipts } from "@arcveildev/sdk"; const chain = createRpcChainReader({  endpoint: arc.rpcUrls.default.http[0],  chainId: arc.id,  ...ARC_REGISTRIES[arc.id],}); const parsed = parseReceiptInput(json);if (!parsed.ok) throw new Error(parsed.errors.join("\n")); const report = await verifyReceipts(parsed.receipts, { chain });report.status; // "pass" | "fail" | "unknown"

What is live

Everything in this table exists and can be pointed at. Anything not in it is either in the table below or not built.

Parts of Arcveil that are deployed and usable today.
Receipt formatv1 — the schema on this site is the one the SDK parses
VerifierFive checks, client-side, reading Arc mainnet over plain JSON-RPC
RegistriesMandateRegistry and AnchorRegistry, deployed to Arc mainnet (chain 5042)
AccountERC-4337 account with 2-of-3 signing, executing only while its mandate is live
SDK@arcveildev/sdk on npm — issuing, verifying, mandates and account intents, published from CI with provenance

What is not

Named here rather than left out, because a developer who finds this list late has been misled by everything before it.

Parts of Arcveil that are designed but not built.
EnclaveRelative intents are resolved by hand today; the enclave that would do it is designed, not built
Spend commitmentsThe budget chain binds order and completeness. Binding spend needs numbers only the enclave would hold
Zero-knowledge proofsReceipts carry an enclave attestation. The zk proof replaces it without changing the format
Desktop appThe 2-of-3 account is signed with cast and a keystore today. The app that would hold a shard is next

Vocabulary

The five terms the rest of the docs assume.
MandateWhat an agent may touch, how much, which hours, when it expires. Written once and held by you; only its hash reaches the chain.
VeilThe agent works in relative terms — reduce exposure to A by 30% — and never receives an absolute balance.
ReceiptWhat one settled action leaves behind: proof the mandate was respected, carrying no amounts.
Counter chainCommitments to cumulative budget use, each binding the last. A dropped receipt leaves a gap that verification catches.
Escape hatchYour device shard and your passkey form a quorum without us. A mandate that expires stops the agent with nobody reachable.