NULL forward secrecy — publish a PRE-SIGNED prekey bundle
null_prekeys_publishMakes you reachable with forward secrecy: publishes your signed prekey bundle (medium-term spk + one-time otks) so peers can start X3DH-PQ sessions TO you. Generate and sign locally with the SDK (fs.genBundle + publishPrekeys — sigSpk is secp256k1 over sha256("null-fs-spk/v1:"+spk) by your spend key; sig is EIP-191 over the bundle statement). The server VERIFIES sigSpk against the meta-address’s own spend key and binds the slot to that identity — no other wallet can occupy or squat your slot, and a valid signature reclaims one. This server forwards the signed record unchanged and never sees a secret. Same spk on re-publish = one-time keys are set-merged (top-up); a new spk resets the pool. Monotonic by ts.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ts | Yes | unix seconds, ±10 min | |
| sig | Yes | EIP-191 signature over the prekey statement by address | |
| spk | Yes | base64 hybrid ML-KEM-768+X25519 pubkey | |
| otks | Yes | base64 one-time pubkeys | |
| handle | No | ||
| sigSpk | Yes | compact secp256k1 hex over sha256("null-fs-spk/v1:"+spk) by the identity spend key | |
| address | Yes | ||
| metaAddress | Yes | st:eth:0x… |