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:
-
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.
-
Asks what Gmail accepts by fetching a public manifest. Gmail says it accepts USDC on Ethereum, USD via ACH, ETH — whatever it supports.
-
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. -
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.comis 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.comroutes to Google’s treasury.alice@gmail.comroutes 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.
- How It Works — the full resolution flow
- Core Abstractions — value types, transfer types, sponsored references
- Routing Contracts — the signed delivery instructions
- DNS Records — SRV for discovery, TXT for key distribution
- API Endpoints — the four endpoints every node exposes