Regulator Portal
Regulator Portal
The regulator portal is a read-only Next.js application that gives compliance teams fleet-wide visibility into all supervised fintechs — payment journals, policy block timelines, and cryptographic chain integrity — without direct access to the Imara runtime.
Architecture
The portal reads data from two sources:
S3 / ledger APIFull ledger entries with raw intent, hashes, and status. Fetched via GET /ledger/s3 on the Imara runtime, or directly from S3 if the runtime is unreachable.
SQLite metadataPre-aggregated per-tenant statistics (entry counts, blocked today, chain alerts). Powers the fleet search and metrics strip without hitting S3 for every page load.
The portal never writes to the ledger or the chain. It is strictly read-only. Deploy it behind your organisation's SSO for access control.
Environment configuration
Create a .env.local file in the portal/ directory.
# Imara runtime base URL
NEXT_PUBLIC_STRATUS_URL=http://localhost:7070
# Auth token (read-only token recommended for regulators)
STRATUS_TOKEN=stratus-dev-token-change-me
# Default fintech tenant shown on /overview and /payments
FINTECH_ID=acme-bank
# SQLite metadata path (must match stratus.toml [metadata] db_path)
METADATA_DB=./data/stratus-meta.dbPortal routes
/fleetFleet overview — all tenants, metrics, live search.
/overviewPer-tenant summary with activity feed and chain status.
/paymentsFull payment journal with status/action filters and search.
/complianceBlock rate analysis, action breakdown, Radix Progress bars.
/chainClient-side chain verification with tamper detection.
Multi-tenant fleet search
The /fleetview shows all tenants indexed in the SQLite metadata store. Use the live search to filter by tenant ID. Click any row to navigate to that tenant's /overview.
Tenants are automatically registered in the metadata index when their first ledger entry is replicated to S3. No manual registration required.
Running the portal
cd portal
npm install
npm run dev # development
npm run build
npm start # productionThe portal runs on port 3000 by default and proxies API requests to the Imara runtime at NEXT_PUBLIC_STRATUS_URL.
Deployment
The portal is a standard Next.js application and can be deployed to Vercel, a Docker container, or any Node.js-capable host. For regulated environments, deploy behind your organisation's identity provider (Okta, Azure AD, etc.) using Next.js middleware for session validation.
Vercel
Zero-config deployment. Set env vars in the dashboard.
Docker
Build the image from the portal/ Dockerfile.
Self-hosted
Node.js 18+ required. Use PM2 or systemd.