Skip to content

Architecture

Attestia is built as three systems that share one truth. Each system has a distinct role, but they converge through cross-system reconciliation and XRPL attestation.

┌─────────────────────────────────────────────────────────┐
│ ATTESTIA │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Personal │ │ Org │ │ │ │
│ │ Vault │ │ Treasury │ │ Registrum │ │
│ │ │ │ │ │ │ │
│ │ Observe. │ │ Distribute. │ │ Govern. │ │
│ │ Budget. │ │ Account. │ │ Attest. │ │
│ │ Allocate. │ │ Reconcile. │ │ Constrain. │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └────────────┬────┘ │ │
│ │ │ │
│ ┌───────┴───────┐ │ │
│ │ Cross-System │◀─────────────┘ │
│ │ Reconciliation│ │
│ └───────┬───────┘ │
│ │ │
│ ┌───────┴───────┐ │
│ │ XRPL Witness │ │
│ │ (attestation)│ │
│ └───────────────┘ │
└─────────────────────────────────────────────────────────┘

Role: Multi-chain portfolio observation, envelope budgeting, and intent declaration.

The Personal Vault is the individual’s view into their financial world. It reads balances and transactions across multiple chains (Ethereum, XRPL, Solana, L2s) without ever taking custody. Users declare intents here — what they want to happen — which then flow into the approval pipeline.

The Vault evolved from the NextLedger project and carries its read-only, observation-first philosophy: watch everything, control nothing.

Role: Deterministic payroll, DAO distributions, dual-gate funding, and double-entry ledger.

The Org Treasury handles organizational money flows. Payroll runs are deterministic and replayable. DAO distributions follow structural rules, not votes. Every transaction is recorded in a proper double-entry ledger with full auditability.

The Treasury evolved from the Payroll Engine project. It enforces dual-gate funding: both a structural gate (does this conform to rules?) and a human gate (did someone approve this?).

Role: Structural registrar — 11 invariants, dual-witness validation, XRPL attestation.

Registrum is the constitutional layer. It defines the invariants that hold unconditionally: identity must be explicit, lineage must be unbroken, ordering must be deterministic. It validates every operation against these 11 structural invariants before anything can proceed.

Registrum is the only system that writes to the XRPL. It is the final witness.

Every interaction in Attestia follows one flow, regardless of which system initiates it:

Intent → Approve → Execute → Verify
StepWhat happensWho acts
IntentA user or system declares a desired outcomeHuman or system
ApproveRegistrum validates structurally; a human signs explicitlyRegistrum + human
ExecuteThe on-chain transaction is submittedSystem (after approval)
VerifyReconciliation confirms; XRPL attests the recordReconciler + Witness

No step is optional. No step is automated away. The gap between intent and execution is where trust lives.

The reconciler (@attestia/reconciler) performs 3D matching across all three systems. When the Vault says a balance changed, the Treasury says a payment went out, and Registrum says the invariants held — the reconciler confirms they all agree. If they disagree, the system halts. It never heals silently.

The witness module (@attestia/witness) is responsible for writing attestation records to the XRP Ledger. XRPL serves as the final witness — an immutable, external proof that a financial event occurred and was structurally valid. The witness supports multi-sig governance, retry logic, and batch submissions.

Chains are witnesses, not authorities. XRPL attests. But authority flows from structural rules, not from any chain’s consensus.