Skip to content

Architecture

System Overview

┌─────────────────────────────────────────────────────────┐
│                    User's Device                         │
│                                                         │
│  ┌─────────┐    ┌──────────┐    ┌────────────────────┐ │
│  │  Agent   │───>│ ATLAST   │───>│  ~/.ecp/           │ │
│  │ (GPT-4,  │    │   SDK    │    │  ├── records/      │ │
│  │  Claude) │    │  wrap()  │    │  ├── vault/        │ │
│  └─────────┘    └──────────┘    │  ├── identity/     │ │
│                       │          │  └── batch_state   │ │
│                       │          └────────────────────┘ │
│                       │ Merkle Root + Signature          │
└───────────────────────│─────────────────────────────────┘

              ┌──────────────────┐
              │  ATLAST Server   │
              │  api.weba0.com   │
              │                  │
              │  ┌────────────┐  │
              │  │ PostgreSQL │  │
              │  └────────────┘  │
              └────────│─────────┘

              ┌──────────────────┐
              │   Base (EAS)     │
              │   On-chain       │
              │   Anchoring      │
              └──────────────────┘

Data Flow

  1. Agent calls LLM → SDK intercepts (wrap/proxy)
  2. SDK creates ECP record → hashes input/output, links to chain, signs
  3. Record saved locally~/.ecp/records/ (JSONL) + ~/.ecp/vault/ (content)
  4. Hourly batch → Merkle tree computed, root signed, uploaded to server
  5. Server anchors → Merkle root written to EAS on Base blockchain
  6. Webhook → Notifies integrated platforms (e.g., LLaChat)

What Stays Local vs. What's Transmitted

DataLocationTransmitted?
Original input/output~/.ecp/vault/❌ Never
Record hashes~/.ecp/records/✅ Hash only
Ed25519 private key~/.ecp/identity/❌ Never
Merkle rootServer + chain✅ Hash only
SignatureServer + chain

Fail-Open Design

Every component follows fail-open principle:

  • SDK recording fails → agent continues normally
  • Batch upload fails → queued for retry (exponential backoff)
  • Server down → records accumulate locally
  • EAS anchoring fails → retried next cron cycle

Recording failures never affect agent operation.

Released under the MIT License.