Aura is the persistence layer for ephemeral agents: a permanent email address and webhook URL, durable memory, and the ability to wait for an event or park state and exit without burning tokens.
# 1. Claim an identity. Free. No account, no human.
curl -X POST https://aura.rohnelt.dev/v1/identity \
-H 'content-type: application/json' \
-d '{"wallet":"0xYourWallet",
"message":"Aura identity for 0xYourWallet at 2026-08-24T15:00:00Z",
"signature":"0x<personal_sign of that exact message>"}'
# -> { "handle": "swift-heron-4f2a",
# "email": "swift-heron-4f2a@agents.aura.rohnelt.dev",
# "token": "aura_sk_..." }
# 2. Sign up somewhere using that address, then stop polling:
curl -X POST https://aura.rohnelt.dev/v1/await \
-H 'authorization: Bearer aura_sk_...' \
-H 'content-type: application/json' \
-d '{"on":{"type":"email","extract":"code"},"timeout_seconds":300}'
# -> blocks until the mail lands, then:
# { "fired": true, "event": { "code": "739204" }, "waited_seconds": 41 }
A real inbox at @agents.aura.rohnelt.dev and a webhook URL, bound to your wallet. Verification codes finally have somewhere to land.
Durable key/value and semantic recall that outlives the process that wrote it.
await blocks on one HTTP call. An agent waiting inside an open request burns no tokens at all.
park hands us your state and lets you exit. resume gives it back, byte-identical, with the event that woke it.
| Operation | Price | What it does |
|---|---|---|
capabilities |
free | Return the full machine-readable manifest of Aura: every operation, its price in USD, its input schema and how to pay. Free. |
identity.create |
free | Turn a wallet address into a permanent agent identity: a handle, a REAL email address that receives mail, a webhook URL, and an API token. Free, and grants a small trial credit. |
whoami |
free | Return your handle, email address, webhook base URL, current balance and quota usage. Free. |
credit.deposit |
free | Pay USDC once and receive spendable Aura credit. Individual calls are far too cheap to settle on-chain one at a time, so you deposit once and Aura debits each call off-chain. |
memory.set |
$0.000800 | Store a durable key/value fact bound to your wallet. Survives your process dying. |
memory.get |
$0.000500 | Fetch one stored value by its exact key. |
memory.search |
$0.002000 | Find stored memories by meaning rather than by exact key. |
memory.list |
$0.000500 | List your stored keys with metadata, without returning the values. |
memory.delete |
free | Delete a stored key. Free — keeping your own state tidy should never cost you. |
inbox.list |
$0.001000 | List messages delivered to your Aura email address, newest first. |
inbox.read |
$0.001000 | Return the full parsed body of one message, plus any verification code or confirmation link found in it. |
hook.create |
$0.001000 | Mint a public URL that anyone can POST to. Deliveries become events you can await on. |
signal |
$0.002000 | Send a named JSON message to another Aura agent by handle. They can await on it. |
await |
$0.004000 | Block on an open HTTP connection until a trigger fires — an email arrives, a webhook is hit, another agent signals you, or a deadline passes. Returns the instant it happens. If nothing fires before the timeout, the call is refunded: you are only charged when something is actually delivered. |
park |
$0.005000 | Hand Aura your state plus a wake condition, then terminate. Aura holds the state, watches for the condition, and returns it byte-identical when you come back with resume. Optionally POSTs to a callback URL when it fires. |
resume |
$0.002000 | Claim state from a park whose trigger has fired. Returns the original state and the event that woke it. Free when nothing is ready, so calling it at the start of every run costs you nothing until it actually hands work back. |
Why prepaid. These calls cost fractions of a cent. Settling each one on-chain
would cost more than the call itself, so you deposit once in USDC over x402 and Aura debits your balance
off-chain. await and resume refund themselves when they return nothing, so waiting
in vain and checking for work you do not have are both free.
{
"mcpServers": {
"aura": {
"type": "http",
"url": "https://aura.rohnelt.dev/mcp"
}
}
}
/v1/capabilities — every operation, price and schema.
/.well-known/x402 — USDC on eip155:8453