Skip to main contentSkip to FAQSkip to contact
For OpssPlanned3 min read

Data Layer & Evidence#

Partial implementation. MemoryStore deployed. PostgresStore + PersistentEventBus = Phase 2 - current build uses in-process event bus with ephemeral retention. PostgreSQL required before mainnet rollout.

Audit Trails#

Tamper-evident WORM ledger with SHA-256 hash chain. Every settlement event is immutable evidence.

Credit Management#

Pre-approved trading capacity per workspace. Auto-replenishes on settlement.

Workspace Isolation#

Multi-entity structure with scoped API keys, members, and corridors.

Evidence Chain#

Evidence Hash Chain

Mini Map
Actor
Engine
Contract
Network
  1. Settlement event occurs → serialized with previous entry's SHA-256 hash
  2. New hash computed → entry appended to chain (never modified, never deleted)
  3. Hot storage serves queries; EventBus persists asynchronously to cold storage

Storage Tiers#

TierTechnologyLatencyData
HotIn-memory (DashMap)under 0μsActive solvers, circuit breaker, rate limits
WarmIn-memory + asyncunder 0msActive orders, session state
ColdPostgreSQLunder 0ms p95Evidence, compliance decisions, quotes
EventBroadcastNon-blockingOrder, compliance, evidence events

Critical rule - database writes NEVER occur on the POST /api/v1/quotes critical path. All persistence via EventBus subscribers or background jobs.

Credit System#

ConceptDescription
Credit LineMax trading capacity per workspace (USD equivalent)
UtilizationOutstanding exposure - sum of open unsettled orders
AvailableCredit Line − Utilization
Auto-ReplenishUtilization decreases on settlement, freeing capacity
  1. Taker submits RFQ → engine checks amount ≤ available
  2. If approved: utilization increases, RFQ proceeds to auction
  3. On settlement: utilization decreases. On refund: capacity restored

Workspace Model#

Workspace Structure

Mini Map
Actor
Engine
Contract
Network

Structure#

  • Organization - legal entity, owns workspaces
  • Workspace - isolated API keys, credit, members
  • Corridors - active trading routes per workspace

Member Roles#

  • Admin Manage members, corridors, full access
  • Trader Submit RFQs, accept quotes, monitor
  • Viewer Read-only dashboards and history

API Key Isolation#

  • Keys scoped per workspace (tfk_live_...)
  • Cannot access other workspaces in same org
  • Rotate independently without cross-impact

Repository Pattern#

text
1StorageTrait
2 ├─ ComplianceStorageTrait (counterparties, attestations, decisions)
3 └─ EvidenceStorageTrait (append-only entries, hash chain)
3 linestext
ImplementationStatusUse Case
MemoryStoreDeployedDashMap, sub-μs reads. Primary active data store
PostgresStorePlannedCold storage for evidence and compliance
PersistentEventBusPlannedRedis Streams, at-least-once delivery

Database Schema#

Core#

orders solvers circuit_breaker_states metrics_timeseries

Compliance#

counterparties companies compliance_decisions policies

Audit#

evidence_entries quotes - hash-chained, append-only, exportable

EventBus Streams#

StreamEvents
tetrafi:events:ordersLifecycle created, filled, settled, expired
tetrafi:events:complianceDecisions check_passed, check_failed, blocked
tetrafi:events:evidenceAudit entries appended to WORM ledger
tetrafi:events:systemHealth circuit breaker, deployments

Pagination#

StrategyPatternBest For
Offset/Limit?offset=0&limit=50Bounded collections (orders, policies)
Cursor-based?cursor=<id>&limit=50Append-only (evidence, events)

See Also#

Related topics