Raidz architecture
Product topology
Next.js web
├─ X OAuth 2.0 PKCE
├─ Telegram Login (external web app; not a crypto Mini App)
└─ wallet session / Robinhood Chain
│
Identity service
│
Raidz Score
┌────────┼──────────┐
Radar Market Projects
└────────┼──────────┘
campaign escrow
│
verifier engine
X / Telegram / web / chain / AI / fraud
│
2-of-3 EIP-712 attestation
│
reward release
│
reputation update
Repository services
apps/web: website, creator onboarding, Radar, creator profile/card, Market, campaign builder, projects, Rank, earnings, and token transparency.apps/api: identity orchestration, score APIs, campaigns, bookings, proof state, policy preflight, and public read models.packages/domain: deterministic scoring, score versioning, tier mapping, budget/retention splits, and campaign eligibility.- PostgreSQL: identities, projects, campaigns, claims, proofs, attestations, settlements, ratings, and configuration.
- Redis: cache, rate limits, idempotency keys, and short-lived work queues.
- Temporal: durable verification and settlement workflows.
- ClickHouse: consented event, attribution, performance, and fraud-analysis aggregates.
- contracts: creator identity, campaign/service escrow, reward distribution, verifier quorum, reputation attestations, fees, bonds, and funding routing.
- Pons indexer: onchain state for launch, trades, graduation, pool state, creator fees, buybacks, sweeps, and failures.
Data boundary
Personally linked score inputs, X/Telegram metadata, content analysis, behavioral signals, and score explanations remain offchain. Onchain records are restricted to wallet, campaign/payment identifiers, hashes, timestamps, nonces, and settlement state. Social-to-wallet linking requires explicit consent and purpose limitation.
Telegram boundary
Raidz uses a regular Telegram bot plus an external website and Telegram Login. It is not a Robinhood Chain Telegram Mini App. The bot opens HTTPS website links and provides notifications only after a user starts or authorizes it. Bot credentials are injected from protected runtime secrets and never stored in this repository.
X boundary
X access is read-oriented OAuth 2.0 PKCE. Raidz does not automate likes, reposts, follows, mass replies, or compensated metric inflation. Campaign eligibility is driven by versioned jurisdiction/platform rules.
Settlement state machine
DRAFT → PREFLIGHT_PASSED → FUNDED → OPEN → CLAIMED → SUBMITTED
→ VERIFIED → IMMEDIATE_RELEASED → RETENTION_PENDING → SETTLED
↘ REJECTED / REVIEW_FLAG / EXPIRED / REFUNDED / PAUSED
Verifier attestations bind campaign ID, creator wallet, deliverable hash, status, payment, timestamp, nonce, expiry, chain ID, and verifying contract. Settlement rejects replay, expiry, duplicate signer, mismatched payload, and non-quorum signatures.
Pons-aware funding boundary
The MVP accepts $RAIDZ deposits. The later funding router resolves the live token phase from Pons state: bonding curve before graduation and registered Uniswap v4 pool after graduation. Near graduation it must account for partial fills and quote-asset refunds. Cached launch configuration is never treated as current during deployment.

ATTENTION, WITH PROOF.