{"service":"messaging","version":2,"mode":"live","enabled":true,"suite":"hybrid-mlkem768-x25519-hkdf-sha256-aes256gcm","suiteId":81,"kem":"ml-kem-768+x25519","aead":"aes-256-gcm","postQuantum":true,"hybrid":true,"addressing":"stealth meta-address (st:eth:<spendPub><viewPub>), one-time handle per message","serverStores":["ephemeralPubKey","viewTag","ct","releaseAt"],"auditLog":"event type + size class + release-grid time bucket only (no ids, no addresses, no precise receive time); cover rows are logged identically to real sends, so the log is as uniform as the wire","serverNeverSees":["sender","recipient","plaintext","client IP on the private lane","receive time"],"plaintextBuckets":[512,2048,8192],"ciphertextSizes":[1661,3197,9341],"releaseGridMs":60000,"retentionMs":604800000,"maxFeed":20000,"privateLane":{"ohttp":true,"note":"send + feed + mailbox are allowlisted on /api/ohttp/gateway; over that lane use feed limit<=2 (one-size 8 KB replies)"},"coverPerDay":96,"coverNote":"Poisson cover rows sealed to burn keys, demand-independent; indistinguishable to readers; count toward nothing.","keyRotation":"Re-publish your mailbox with fresh keys at any time (monotonic by ts). Retention is 7 days, which bounds what a leaked KEM secret could open.","plus":{"passes":"POST body.pass = {preparedMsg, sig} (unlinkable blind token, see /api/plus/info) exempts send/mailbox from rate limits","fundedCover":"POST /api/messages/v2/plus/cover {pass}","anchoring":"POST /api/messages/v2/plus/anchor {pass,id} -> GET /api/messages/v2/anchor/{id}","anchorsOnChain":true,"erasureProof":"GET /api/messages/v2/erasure"},"kContribution":0,"kNote":"Rotated handles are NOT counted as distinct principals. v2 buys unlinkability and honest cover traffic for settlement; K rises only when distinct real principals use the same lane.","sdk":"/svc/msg2-sdk.mjs","docs":"https://anygas.xyz/docs#messaging-v2","endpoints":{"info":"GET /api/messages/v2/info","directory":"GET /api/messages/v2/directory  (oblivious: identical for every reader - prefer this)","mailbox":"GET /api/messages/v2/mailbox/{addressOrRobynName} (reveals intent to the server on the direct lane) | POST /api/messages/v2/mailbox {address, metaAddress, kemPub, ts, sig}","send":"POST /api/messages/v2/send {ephemeralPubKey, viewTag, ct}","feed":"GET /api/messages/v2/feed?since=&limit="}}