The Problem
Problem
Republic AI is a decentralized Cosmos-based network where validators coordinate AI compute workloads. For the network to be actually usable, three distinct audiences need tooling that was missing on day one:
Republic AI, validator'ların AI compute iş yüklerini koordine ettiği, Cosmos tabanlı merkeziyetsiz bir ağ. Ağın gerçekten kullanılabilir olması için ilk günden eksik olan üç ayrı kitleye araçlar gerekiyordu:
- Validator operators needed real-time signal on uptime, missed blocks, commission changes and jailing risk — not just raw RPC responses.
- Delegators & end-users needed a way to compare validators, watch delegation flows, and spot unhealthy endpoints before routing a workload.
- Developers needed a typed, batteries-included client to send transactions, submit compute jobs and read chain state — without hand-rolling protobuf and bech32.
- Validator operatörlerinin uptime, kaçırılan blok, komisyon değişiklikleri ve jailing riski üzerine gerçek zamanlı sinyale ihtiyacı vardı — ham RPC cevaplarına değil.
- Delegator ve son kullanıcıların validator'ları karşılaştıracak, delegation akışlarını izleyecek ve bir iş göndermeden önce sağlıksız endpoint'leri tespit edecek bir yola ihtiyacı vardı.
- Geliştiricilerin protobuf ve bech32 ile uğraşmadan işlem gönderebileceği, compute iş'i submit edebileceği, chain state okuyabileceği tip-güvenli, hazır bataryalı bir istemciye ihtiyacı vardı.
PanoptesLabs fills both sides: Panoptes is the human-facing surface, republic-sdk is the machine-facing one — and they share the same underlying chain-query layer.
PanoptesLabs iki tarafı da kapatıyor: insanlar için Panoptes, makineler için republic-sdk — ve ikisi de aynı alt chain-query katmanını paylaşıyor.
My Role
Rolüm
Founder, architect and sole maintainer. I own every layer — product design, data model, frontend, API, indexer, CI/CD, infrastructure, the SDK release pipeline and the community validator that runs on our own hardware. The work spans:
Kurucu, mimar ve tek sorumlu geliştirici. Her katman benim — ürün tasarımı, veri modeli, frontend, API, indexer, CI/CD, altyapı, SDK release pipeline'ı ve kendi donanımımızda çalışan community validator. Kapsam:
- Architected the two-project split so Panoptes and republic-sdk can evolve independently but share a single chain-query core.
- Shipped and operate the SDK on npm (
republic-sdk) with semver releases, typed exports (ESM + CJS + CLI) and a multi-node CI matrix. - Designed and deployed the dashboard at panoptes.cc on Vercel with host-based routing to app.panoptes.cc.
- Migrated the production database from a managed provider to a self-hosted PostgreSQL cluster on Hetzner, including PgBouncer pooling and zero-downtime cutover.
- Operate KNKCHN-validator — an active bonded validator on the Republic AI network, delegated to by the core Republic team.
- Transferred the GitHub organization to PanoptesLabs as a permanent home for the ecosystem.
- İki projeyi bağımsız gelişecek ama tek bir chain-query çekirdeğini paylaşacak şekilde mimariledim.
- SDK'yı npm'de (
republic-sdk) semver release'leri, tip-güvenli export'lar (ESM + CJS + CLI) ve çoklu Node versiyon CI matrisi ile yayınladım ve işletiyorum. - Dashboard'u panoptes.cc adresinde Vercel üzerinde, host-based routing ile app.panoptes.cc alt alanına yönlendirerek deploy ettim.
- Production veritabanını managed bir sağlayıcıdan Hetzner üzerinde self-hosted PostgreSQL cluster'a taşıdım — PgBouncer pooling ve sıfır-downtime geçiş dahil.
- Republic AI ağında aktif bonded bir validator olan KNKCHN-validator'ı işletiyorum; çekirdek Republic ekibi delegasyon yaptı.
- Ekosistemin kalıcı evi olarak GitHub organizasyonunu PanoptesLabs'a taşıdım.
By the Numbers
Rakamlarla
1,300+ tests
1,300+ test
Unit, integration and contract tests across both repos — all green on every push.
İki repo genelinde unit, integration ve contract testleri — her push'ta yeşil.
~90% coverage
~%90 coverage
Enforced via CI with per-path coverage rules and typed Prisma mocks.
CI'da path-bazlı coverage kuralları ve tip-güvenli Prisma mock'larıyla zorunlu.
Active validator
Aktif validator
KNKCHN-validator — bonded, signing blocks, backed by team-level delegations.
KNKCHN-validator — bonded, blok imzalıyor, ekip seviyesinde delegasyon aldı.
npm package live
npm paketi yayında
republic-sdk on npm with semver
releases, typed exports, CLI binary and automated
publishing.
npm'de republic-sdk — semver
release'ler, tip-güvenli export'lar, CLI binary ve
otomatik yayınlama ile.
Real-time data
Gerçek zamanlı veri
Server-Sent Events for live alerts, cron pipelines for continuous indexing, tiered caching for read performance.
Canlı uyarılar için Server-Sent Events, sürekli indeksleme için cron pipeline'ları, okuma performansı için katmanlı cache.
Production-grade infra
Production-kalibre altyapı
Vercel edge, self-hosted PostgreSQL on Hetzner, PgBouncer, GitHub Actions cron, encrypted webhook delivery.
Vercel edge, Hetzner üzerinde self-hosted PostgreSQL, PgBouncer, GitHub Actions cron, şifreli webhook teslimi.
Architecture
Mimari
Panoptes (dashboard)
Panoptes (dashboard)
- Frontend: Next.js 16 App Router, React server components, streaming charts (Recharts), Tailwind, contextual help tooltips, scroll-spy navigation.
- API layer: Next.js route handlers with
Zod-validated inputs, tiered
s-maxagecache headers per domain (health / forecast / governance), and rate limiting on public endpoints. - Data pipeline: custom indexer that polls Cosmos REST/RPC and decodes on-chain state into a relational Prisma model; governance, slashing, inflation, commission and supply tracked in background cron jobs.
- Storage: PostgreSQL 16 on Hetzner, PgBouncer for transaction pooling, self-signed SSL, direct connection for migrations.
- Analytics: integration with an external explorer API for historical TX / gas / block-time charts — so our own node can stay lean.
- Notifications: SSE notification bell + HMAC-signed webhook delivery with AES-256-GCM-encrypted secrets, retry queue and dead-letter handling.
- Multi-tenant: workspace system with token-based auth, policies, API keys and scoped webhooks.
- Frontend: Next.js 16 App Router, React server component'ler, streaming grafikler (Recharts), Tailwind, contextual help tooltip'ları, scroll-spy navigation.
- API katmanı: Zod ile doğrulanmış
input'lar, alan bazlı (health / forecast / governance)
katmanlı
s-maxagecache header'ları ve public endpoint'lerde rate limiting ile Next.js route handler'ları. - Veri pipeline'ı: Cosmos REST/RPC'yi yoklayan ve on-chain state'i ilişkisel Prisma modeline çeviren özel indexer; governance, slashing, enflasyon, komisyon ve arz arka plan cron'larında takip ediliyor.
- Depolama: Hetzner üzerinde PostgreSQL 16, transaction pooling için PgBouncer, self-signed SSL, migration'lar için direkt bağlantı.
- Analitik: harici explorer API entegrasyonu — tarihsel TX / gas / blok-süresi grafikleri için; kendi node'umuz hafif kalabilsin diye.
- Bildirimler: SSE notification bell + AES-256-GCM ile şifrelenmiş secret'lar, retry kuyruğu ve dead-letter ile HMAC-imzalı webhook teslimi.
- Çok kiracılı: token-based auth, policy'ler, API key'ler ve scoped webhook'lar ile workspace sistemi.
republic-sdk (npm package)
republic-sdk (npm paketi)
- Key management: mnemonic-based keypair generation, bech32 address derivation, secure storage abstractions.
- Transaction signing: canonical amino / proto serialization, sign-mode-direct signatures, fee estimation.
- Chain queries: typed clients for staking, distribution, slashing, bank and governance modules.
- Compute jobs: high-level API for dispatching AI compute workloads to the network and tracking their lifecycle.
- CLI: scripting-friendly binary for operators and CI — key import, balance checks, send, delegate, submit-job.
- Build: ESM + CJS + DTS + CLI, dual Node-version test matrix, branch-protected releases via release-please.
- Anahtar yönetimi: mnemonic-based keypair üretimi, bech32 adres türetme, güvenli depolama soyutlamaları.
- İşlem imzalama: canonical amino / proto serializasyon, sign-mode-direct imzalar, fee tahmini.
- Chain sorguları: staking, distribution, slashing, bank ve governance modülleri için tip-güvenli istemciler.
- Compute iş'leri: ağa AI compute iş yüklerini göndermek ve yaşam döngülerini takip etmek için yüksek seviyeli API.
- CLI: operatörler ve CI için scripting-dostu binary — key import, bakiye kontrolü, send, delegate, submit-job.
- Build: ESM + CJS + DTS + CLI, çift Node versiyon test matrisi, release-please ile branch korumalı release'ler.
Key Features
Öne Çıkan Özellikler
Validator monitoring
Validator izleme
Per-validator rank, voting power, commission, delegators, APY, uptime, missed blocks, signing stats and jailing timeline — with historical charts.
Validator başına sıralama, oy gücü, komisyon, delegator sayısı, APY, uptime, kaçırılan bloklar, imzalama istatistikleri ve jailing zaman çizelgesi — tarihsel grafiklerle.
Endpoint health
Endpoint sağlığı
External probes verify what chain state reports. If a validator says it's up but can't respond to an RPC request, you see the gap immediately.
Dış prob'lar chain state'in raporunu doğrular. Bir validator "up" diyor ama bir RPC isteğine cevap veremiyorsa aradaki farkı anında görürsünüz.
Smart routing
Akıllı routing
Endpoints scored on latency, success rate and recent history — exposed as a "best endpoint" recommendation, consumable from the SDK or UI.
Endpoint'ler gecikme, başarı oranı ve yakın geçmişe göre skorlanır — SDK veya UI'dan tüketilebilen "en iyi endpoint" önerisi olarak sunulur.
Anomaly detection
Anomali tespiti
Radar-based anomaly view highlights unusual behaviour (missed-block spikes, sudden commission changes, delegation shifts) before it becomes a problem.
Radar-tabanlı anomali görünümü, bir probleme dönüşmeden önce olağandışı davranışı (kaçırılan blok sıçramaları, ani komisyon değişiklikleri, delegation kaymaları) öne çıkarır.
Forecasting & accuracy
Tahmin ve doğruluk
Forward-looking forecasts for downtime, unbonding, breach risk and jail risk — with a live accuracy dashboard that verifies each prediction against what actually happened.
Downtime, unbonding, breach riski ve jail riski için ileriye dönük tahminler — her tahmini gerçekte olanla karşılaştıran canlı bir doğruluk dashboard'u ile birlikte.
Network analytics
Ağ analitiği
Daily TX volume, message-type breakdown, gas distribution, block times, reward history, delegation flows and governance vote outcomes.
Günlük TX hacmi, mesaj-tipi kırılımı, gas dağılımı, blok süreleri, ödül geçmişi, delegation akışları ve governance oy sonuçları.
Alerts & webhooks
Uyarılar ve webhook'lar
In-app notification bell (SSE) plus outbound HMAC-signed webhooks with retry and dead-letter queues — integrate with Slack, Discord or your own ops pipeline.
Uygulama içi notification bell (SSE) artı retry ve dead-letter kuyruklu, HMAC-imzalı giden webhook'lar — Slack, Discord ya da kendi ops pipeline'ınızla entegre edin.
Workspaces
Workspace'ler
Multi-tenant model with token auth, scoped API keys, custom policies and per-workspace webhook endpoints — teams keep their configuration isolated.
Token auth, scoped API key'ler, özel policy'ler ve workspace başına webhook endpoint'leri ile çok-kiracılı model — ekipler kendi konfigürasyonunu izole tutar.
Official SDK on npm
npm'de resmi SDK
One npm install republic-sdk
gives you typed, batteries-included access — key
management, signing, chain queries, job submission
and a CLI binary.
Tek npm install republic-sdk
size tip-güvenli, hazır bataryalı erişim sağlar —
anahtar yönetimi, imzalama, chain sorguları, iş
submit etme ve CLI binary'si.
Tech Stack
Teknoloji Yığını
Opinionated, boring-where-it-should-be, production-focused.
Fikir sahibi, olması gerektiği yerde sıkıcı, production odaklı.
Engineering Practices
Mühendislik Pratikleri
- Contract-first testing: data contracts (uptime ratios, forecast scales, accuracy denominators) are explicit and enforced by tests so UI and indexer never disagree.
- Branch protection: both repos require green CI across a Node version matrix plus a review before merge — no exceptions.
- Typed, audited boundaries: every external API response validated with Zod; every user input validated; bech32 addresses verified with real checksum, not regex.
- Idempotent cron jobs: unique-constraint claims + compare-and-set cursors so retries are safe; webhook delivery queues have dead-letter semantics.
- Zero-downtime migrations: production DB moved from a managed provider to self-hosted PostgreSQL without interrupting the live dashboard.
- Security posture: __Host-prefixed cookies, encrypted webhook secrets at rest, rate-limited public endpoints, CSP-aware asset loading.
- Contract-first test: data contract'lar (uptime oranları, forecast ölçekleri, doğruluk paydaları) açıkça tanımlı ve test'lerle zorlanıyor — UI ile indexer asla çelişmesin diye.
- Branch protection: iki repoda da merge öncesi Node versiyon matrisinde yeşil CI ve review zorunlu — istisnasız.
- Tip-güvenli, denetlenen sınırlar: her dış API cevabı Zod ile, her kullanıcı girdisi doğrulanıyor; bech32 adresler regex değil gerçek checksum ile doğrulanıyor.
- Idempotent cron'lar: unique-constraint claim'leri + compare-and-set cursor'lar ile retry'lar güvenli; webhook teslim kuyrukları dead-letter semantiğine sahip.
- Sıfır-downtime migration: canlı dashboard'u kesmeden production DB managed bir sağlayıcıdan self-hosted PostgreSQL'e taşındı.
- Güvenlik duruşu: __Host-prefixli cookie'ler, dinlenen webhook secret'ları şifreli, public endpoint'lerde rate limit, CSP-farkında asset yükleme.
Outcome
Sonuç
Panoptes is live at
panoptes.cc
with its dashboard on
app.panoptes.cc.
republic-sdk is published and installable from
npm. The KNKCHN-validator is bonded on the Republic AI network
and has received delegations from the core team — a direct
signal that the ecosystem has value to the people building
Republic itself.
Panoptes
panoptes.cc
adresinde, dashboard'u da
app.panoptes.cc
adresinde canlı. republic-sdk npm'de yayında ve
yüklenebilir. KNKCHN-validator Republic AI ağında bonded
durumda ve çekirdek ekipten delegasyon aldı — ekosistemin
Republic'i inşa eden kişilere değer sağladığının doğrudan bir
işareti.