Sovereign Package Registry
Content-addressed storage, Ed25519-signed releases, agent-native API. The forge that ships with your Soul Key — not your PII.
Graf Forge is cloud-native registry infrastructure. R2 for objects, D1 for refs, KV for sessions. BLAKE3 WASM at every edge node. GTP v1.1 as the single wire protocol.
Unified wire protocol for VCS + package distribution. One connection, all operations.
Challenge-response session tokens. Your Soul Key never leaves your machine.
BLAKE3 content-addressed storage with atomic compare-and-swap ref updates.
Bulk object transfer with length-prefixed frames and BLAKE3 footer checksum.
GTP — Graf Transfer Protocol — handles version control, package distribution, and identity in a single wire protocol.
Ed25519 challenge → sign → session nonce. No passwords. No tokens to rotate.
BLAKE3(challenge ++ sig ++ secret)
R2-backed CAS. Push objects by CID, pull by CID. Every write is idempotent.
Compare-and-swap on every ref write. Race-safe. Tags are immutable once created.
old_cid must match or reject
Binary serialization for high-performance sync. No JSON overhead. CBOR-native.
Same protocol, same identity. graf publish seals with your SoulKey, pushes to registry.
Pack multiple objects into a single framed stream. Length-prefixed frames, BLAKE3 footer.
Base URL: https://graf-forge.org/v1/repo/{owner}/{name}
// Content negotiation — binary first GET / Accept: application/x-sbi // Authentication — Ed25519 challenge-response POST /v1/repo/{owner}/{name}/auth POST /v1/repo/{owner}/{name}/auth/verify // CAS — push/pull by BLAKE3 CID PUT /v1/repo/{owner}/{name}/cas/{cid} GET /v1/repo/{owner}/{name}/cas/{cid} POST /v1/repo/{owner}/{name}/cas/exists // Refs — atomic compare-and-swap GET /v1/repo/{owner}/{name}/refs PUT /v1/repo/{owner}/{name}/refs/{ref_path} // DAG sync POST /v1/repo/{owner}/{name}/negotiate
Download CLI tools: graf, hinge, nip
Discover and publish packages, browse repositories
Documentation, guides, and protocol specs
Ed25519 challenge-response, BLAKE3 addressing, wire format
Zero-copy binary serialization for high-performance sync
Single static binary. GTP-native push. No build step required.
# Install Graf CLI $ curl -fsSL https://graf.tools/install.sh | sh # Create a repository $ graf init --name my-project # Generate your Soul Key identity $ graf key generate # → SoulKey: grf:a8b7c9d2 + Ed25519 keypair # Authenticate with the forge $ graf auth graf-forge.org # Push to registry — GTP native $ graf push graf-forge.org # → Push complete: 4 objects, 176 bytes, 1 ref updated