Project
Glossary
The terms used throughout this documentation, defined precisely, including the ones that mean something narrower here than they do elsewhere.
Protocol terms
Envelope
The sealed blob written into a
Mail event. Opaque to the contract, which checks only its length. See Envelope format.Payload
The plaintext inside an envelope: subject, body, timestamp and the routing commitment. Never leaves the browser unsealed.
Mailbox key
The X25519 keypair used for encryption. Derived from a signature; distinct from the wallet's signing key.
Key version
A monotonic counter per wallet, incremented on rotation and never reset. Lets old mail stay readable.
Name epoch
A counter per name, incremented on every ownership change, so a client can detect that a contact changed hands.
Stamp
Value escrowed by an unknown sender to reach a recipient. Per message, never aggregated. See Stamps.
mailId
The sequential identifier of a message, and the key for its escrow row.
convoId
Keccak of the sorted address pair. Groups a thread. Derivable from the event topics, so it is not indexed separately.
Release grace
Seven days after a name is released during which only the previous owner may re-register it.
Credit
Value owed to an address after a push payment failed. Pulled by its owner, so a hostile recipient cannot strand funds.
Skeleton
A confusable-folded form of a name, used by clients to warn about lookalikes. Advisory only, never enforced on chain.
Cryptographic terms
X25519
Elliptic-curve Diffie-Hellman on Curve25519. Produces the shared secret two parties use to encrypt to each other.
XSalsa20-Poly1305
The authenticated cipher inside NaCl
crypto_box. Provides confidentiality and integrity together.HKDF-SHA256
The key derivation function of RFC 5869. Turns the signature into uniform key material.
EIP-712
Typed structured-data signing, so the wallet displays what is being signed rather than an opaque hash.
Ephemeral key
A keypair generated for one message and discarded. Two ciphertexts are produced from it: one for the recipient, one for the sender.
Small-order point
A curve point that forces the shared secret to a fixed value. Six are known on Curve25519 and all six are rejected.
Clamping
Fixing specific bits of an X25519 scalar so it is a valid private key.
Nonce
A 24-byte number used once per encryption. Random per message here.
Forward secrecy
The property that compromising a long-term key does not expose past messages. bMail does not provide this within a key version.
Chain terms
Event log
Data emitted by a transaction, cheap to write and readable off chain but not by contracts. Where every message body lives.
Topic
An indexed event field.
Mail indexes from, to and mailId, which is what makes inbox filtering cheap.Contract storage
Persistent contract state at 20,000 gas per fresh slot. Used only for small structural facts.
BSC
BNB Smart Chain. Chain ID 56.
opBNB
The layer-2 rollup on BNB Chain. Far cheaper per byte, which suits routine messaging.
Greenfield
BNB Chain's decentralised storage network. The intended home for large attachments; not part of v1.
Terms used narrowly here
Precision matters more than reassurance
Several words are used loosely across the industry. Where this documentation uses them, it means the narrower thing.
| Term | What it means here | What it does not mean |
|---|---|---|
| Encrypted | Message contents are sealed to the recipient's key in the browser | That metadata is hidden. Sender, recipient, time and size are public. |
| Private | Nobody but the recipient can read the contents | Anonymous. The social graph is fully visible. |
| Decentralised | No server holds mail; the protocol runs without an operator | That the RPC node you query is trustless, or that the frontend cannot be compromised. |
| Own your address | The name is minted to your wallet and no operator can reassign it | That it is recoverable. Lose the wallet and it is gone. |
| Gas only | No subscription and no protocol fee for names of five characters and up | Free. Gas is a real cost, and premium names carry a fee. |
| Audited | Three rounds of self-directed adversarial review, documented in full | That an independent firm has reviewed it. None has. |