Skip to content

Directory Protocol

Directory lets you send money to alice@gmail.com. Or to gmail.com itself.

Not to a wallet address. Not to a payment link. To the same address Alice uses for email — or directly to the domain that runs the node. If Gmail runs a Directory node, it resolves addresses into signed routing contracts — short-lived, cryptographic instructions that tell the sender exactly where to deliver value. gmail.com pays Google. alice@gmail.com pays Alice.

Alice never shares a wallet address. Gmail manages her routing preferences behind the scenes, the same way it manages her email routing today. Alice can change where her money goes at any time — different wallet, different chain, different currency — and no sender needs to know. The address stays the same. The routing updates silently.

Every routing contract is ephemeral. It expires in seconds. If the sender doesn’t act on it, it’s gone. Gmail can rotate Alice’s destinations, swap chains, or change preferences between requests. No stale state accumulates. No old wallet address sitting in someone’s payment form.

How it works

A wallet, app, or agent that wants to send USDC to alice@gmail.com:

  1. Looks up Gmail’s Directory node via DNS, the same way email clients find mail servers. A standard SRV record points to the service. A TXT record publishes Gmail’s public signing key.

  2. Asks what Gmail accepts by fetching a public manifest. Gmail says it accepts USDC on Ethereum, USD via ACH, ETH — whatever it supports.

  3. Resolves Alice’s address by posting to Gmail’s node. Gmail returns a signed routing contract: send USDC to 0xABC... on Ethereum, valid for 5 minutes. The contract is signed with Ed25519 so anyone can verify Gmail issued it.

  4. Sends the money to the destination in the contract. Done.

The entire flow uses DNS and HTTPS. No blockchain. No tokens. No new infrastructure. The same protocols that route email now route value.

Why it works like email

Email addresses are local@domain. The domain runs the mail server. The user configures their inbox through the domain’s product. The sender never knows or cares how the domain routes mail internally.

Directory is the same pattern. alice@gmail.com is a Directory address. Gmail runs the routing. Alice configures her preferences through Gmail. The sender just resolves the address and follows the contract.

This means any domain can participate. Your bank, your employer, your exchange — if they control their domain’s DNS, they can run a Directory node for all their users. No permission needed. No registry. No sign-up.

What’s different from sharing a wallet address

When you share a wallet address, it’s static. It doesn’t expire. It can’t be rotated without telling every sender. It’s tied to one chain. It leaks your on-chain identity.

A Directory address:

  • Works across chains and currencies. One address, many routes. USDC on Ethereum, USDC on Base, BTC, fiat via ACH — the operator decides what to accept.
  • Rotates silently. The operator can change destinations between requests. Temporary deposit addresses, rotating proxies, chain migration — invisible to the sender.
  • Expires. Every routing contract has a TTL. No stale instructions. No replay risk.
  • Is signed. Every contract carries an Ed25519 signature verifiable against the domain’s DNS-published key. Third parties can verify it without contacting the operator.
  • Is human-readable. alice@gmail.com is something you can say out loud, print on an invoice, or embed in a payment button.
  • Works at the domain level. The domain itself can be a payable address. gmail.com routes to Google’s treasury. alice@gmail.com routes to Alice. The domain is the building; the local part is the suite.

Setup

Run a node — if you control a domain, you can run a Directory node for yourdomain.com and all *@yourdomain.com addresses. Quickstart: Run a Node

Build an app — if you’re building a wallet, payment flow, or agent, the SDK resolves Directory addresses in one call. Quickstart: Build an App

Protocol details

The protocol is intentionally simple. Two DNS records, four HTTPS endpoints, Ed25519 signing.