Skip to content
Documentation

Build on Genoryn Krypton

The full specification lives in the repository. This page is the short version.

Protocol at a glance

API

Every node exposes REST under /v1, JSON-RPC 2.0 at /rpc and a WebSocket feed at /v1/ws. The public node at https://genoryn.io serves the same API.

GET  /v1/info                     network, height, supply, hashrate
GET  /v1/blocks?count=20          latest blocks
GET  /v1/block/{height|hash}      block with transactions
GET  /v1/tx/{txid}                transaction status
GET  /v1/compact?from=&count=     compact blocks for light wallets (binary)
GET  /v1/flyclient?heights=a,b    sampled headers with MMR proofs
GET  /v1/subtree/{chunk}          private witness download
POST /v1/tx                       submit a transaction (binary)
POST /rpc                         getinfo, getblock, sendrawtransaction, ...
curl -s https://genoryn.io/rpc -d '{"jsonrpc":"2.0","id":1,"method":"getblockcount"}'

Addresses

Full addresses carry a post-quantum key and are long (about 2,600 characters). Short addresses (gnrs1…, tgnrs1…) are content hashes that any node resolves; a node cannot substitute a different address because the hash would not match.

Fair launch

Testnet genesis commits to Bitcoin block 974,322. Mainnet will commit to a future Bitcoin block announced in advance; the release containing the genesis hash is published only after that block exists, so anyone can verify that nobody mined before launch.

Integrate

Use the Rust crates (krypton-sdk), the C library (libkrypton) or the TypeScript client in sdk/js. See docs/integration for exchanges, wallets and explorers.