◊FallHopAI-Native Solutions
Bitchat ⇄ Konomi · v1

FallHop — Bitchat becomes Konomi

FallHop speaks Bitchat's binary wire format on the outside and Konomi (did:key + 7 rings + F(S⃗)) on the inside. Estate messages ride Jack Dorsey's Bluetooth mesh; Bitchat packets arrive as estate-native messages. Bitchat is treated as a lossy legacy protocol we translate to and from — not a peer we imitate.

● 〜 ┃ ♡ △ ◐ ◯

Wire status

Loopback echoes any packet back through the translator so you can see the Konomi mapping without pairing hardware.

Identity (FallID)

not loaded

Konomi identity is did:key — persistent, self-sovereign. Bitchat's 8-byte ephemeral peer ID is stored under bitchat_only and rederived on the wire.

Compose — send via Bitchat wire

Sent-packet inspector

— nothing sent yet —

Konomi view of what you just sent

—

Paste raw Bitchat bytes

—

Incoming mesh log

Field-by-field translation & loss report

Bitchat fieldKonomi mappingFidelity
senderID (8 bytes)fromDid — did:bitchat:<hex> wrapperlossless round-trip
recipientID (8 bytes)toDid — same wrapperlossless
ttl (0..7)Konomi 7-ring position + κhops attenuationsemantically enriched
type (0x01..0x22)body shape (announce / text / opaque)lossless
timestamp (ms)timestamp — passthroughlossless
flags (isRSR, isCompressed, hasRoute)bitchat_only.flagsRaw — no Konomi analogpreserved for round-trip only
signature (Ed25519, 64 B)bitchat_only.signature — estate uses fold F(S⃗) authenticity, not Ed25519 on-wirepreserved verbatim
Noise XX handshake (0x10)opaque body — Konomi does not model Noise nativelyopaque passthrough
zlib payload compressionbitchat_only.isCompressed — Konomi payload is CID-anchored, not compressed on-wireround-trip flag only
route[] source-routing hopsrings crossed (ringHops[]) — semantic overlappartial map

Estate face is Konomi-native. Everything Bitchat carries that has no Konomi analog is preserved under bitchat_only so konomiToBitchat can reconstruct the original wire packet byte-for-byte on the return path. That's the honest v1 contract.