Skip to content

Umul

Umul is a mobile-shaped web messenger where you sign in with a wallet address and talk over the XMTP network. Dojang verification status drives peer badges and inbox routing, and only conversations where every participant is verified can be recorded as evidence on GIWA Sepolia.

Umul system architecture

Why "Umul"

Umul (우물) is Korean for a well. The wellside was where villagers gathered and talked — a shared space owned by no one in particular, used by everyone, where each person brought their own bucket to draw water.

Umul is built the same way. Accounts and conversations live on the shared XMTP network rather than inside one app, and the keys that open them exist only in each person's wallet and devices. The server tends the well but cannot look into the water.

And as a deep well does not run dry, a conversation every participant agreed to stays on chain, verifiable long after the fact.

Core ideas

  • The wallet is the identity. You sign in SIWE-style with no separate account, and the messaging identity (XMTP Inbox) is created from a wallet signature as well.
  • Message plaintext never reaches the server. Conversations travel under XMTP MLS end-to-end encryption, and decrypted plaintext lives only in each device's local storage. Only hashes go to the server and the chain.
  • Evidence holds only with everyone's signature. Every participant must recompute the same hash from the same plaintext and sign it under EIP-712 before anything is recorded on chain.
  • Evidence plaintext is stored only as ciphertext. The client encrypts a conversation used for evidence before handing it to the server, and only wallets that actually signed can restore it — at any time, with a single wallet signature. The server never received a key, so it cannot open it.

Network

Item Value
Messaging XMTP dev
Chain GIWA Sepolia (chain ID 91342)
DojangScroll 0xd5077b67dcb56caC8b270C7788FC3E6ee03F17B9
Evidence contract 0x675dB91aCEC52DCb44e6d20FB1F1299FFafBb51B

Where to start