Ksync Sync API
Stateless post-quantum sync relay for Kryon apps. The server stores public keys and mirrored app data, never client private keys. Protocol v5 makes encrypted records the primary private-data surface while legacy typed rows remain available for compatibility, and released Inbe v4 encrypted collections remain valid.
OpenAPI JSON · Health check · Readiness · Metrics
/api/v1/appsLists registered apps, collection prefixes, visibility classes, and capabilities. Built-in registrations include Inbe and Uku.
/api/v1/appsRegisters or updates an app when KSYNC_ADMIN_TOKEN is set and X-Ksync-Admin matches it.
/api/v1/sync/challenge?user_id=<sha256-public-key-hex>Issues a single-use 32-byte challenge nonce encoded as lowercase hex.
/api/v1/sync/wsUpgrades to a WebSocket event stream authenticated with Authorization: Bearer <token>, or browser subprotocols ksync-sync-v1, bearer.<token>.
/api/v1/syncApplies signed local changes and returns remote changes newer than since_server_version.
/api/v1/sync/diagnosticsReturns bearer-authenticated sync state, table counts, compaction position, and legacy client hints.
/api/v1/tokens/issuerReturns the Waozi token issuer key. Official apps accept only Waozi-signed waozi:token receipts.
/api/v1/tokens/productsLists configured token products and direct Monero prices when direct purchases are enabled.
/api/v1/tokens/balanceReturns the bearer-authenticated account's Waozi token balance computed from signed ledger events.
/api/v1/tokens/spendDebits Waozi tokens with app policy and idempotency enforcement.
/api/v1/tokens/purchases/monero/invoicesCreates a bearer-authenticated Monero invoice for a configured token product.
/api/v1/tokens/purchases/monero/invoices/{id}Returns invoice status and settles a confirmed Monero payment against the authenticated account.
/api/v1/account/app-grantsLists or creates bearer-authenticated grants for sharing registered app collection prefixes across apps.
/api/v1/account/app-recordsReturns encrypted records from a granted collection prefix for cross-app use.
/api/v1/friendsBearer-authenticated friend requests, accepted friends, and app-neutral shared profile stats.
/api/v1/accountDeletes all remote data for the signed sync account.
/api/v1/account/delete-with-keyDeletes all remote data for the sync account after verifying exported account key text.
Signed Message
ksync-sync-v1 <HTTP_METHOD> <HTTP_PATH> <sha256 hex of exact raw request body bytes> <challenge nonce hex>
Signed requests use X-Ksync-User, X-Ksync-Signature, and Content-Type: application/json.