This repository contains the mainnet-only Starknet ID frontend. It has no persistent application backend, database, indexer, signer, bot, telemetry client, or scheduled workload.
All authoritative state comes from Starknet. The browser sends reads, receipt polls, fee estimates, and simulations to two stateless same-origin functions:
POST /api/rpcprotects the server-side Starkscan key and falls back to Cartridge only for idempotent reads.GET /api/indexer/identitiesobtains untrusted identity transfer candidates from Starkscan. Every candidate is validated againstowner_of.
Braavos receives calls only after state is re-read, fees are estimated, and the same call list simulates successfully. The application never handles wallet secrets.
cp .env.example .env.local
bun install
bun run devSet STARKSCAN_API_KEY in .env.local. Contract addresses and ABIs are
part of the typed SN_MAIN manifest and are not environment-driven.
bun test
bun run lint
bun run buildLive integration checks are opt-in:
RUN_LIVE_MAINNET_TESTS=true bun test tests/liveSee DEPLOYMENT.md for the Vercel firewall and rollout steps.