Aura — The Internet Aura Market
Trade the trend line of the internet's mood.
Aura turns real online attention into a live, AI-scored on-chain index — then
lets anyone trade prediction markets on where each name's aura goes next.
▶ Live app ·
🎤 Pitch video ·
🎬 Technical demo ·
⛓ Contracts on Monad testnet ·
🧩 Sponsor deep dives ·
𝕏 @auramarkets_
Every market is one handle — a person, project, coin or brand — and one time
window. The handle's index, its aura, is scored by an AI from the
handle's own scoped sources (news RSS, X, Reddit, YouTube, GitHub, per-user OAuth
connections) and written on-chain. Each window asks one question: does this
handle's aura close higher or lower?
Contents
Try it in two minutes
Nothing to install — it runs on Monad testnet with test money.
- Open app.auramarkets.world. The home page
is the Atlas: every handle is a villager in its category's district. Bigger
villagers have more aura; 🔥 marks the biggest movers. Drag to pan, scroll or
pinch to zoom. How it works walks the whole loop in six steps.
- Sign in with your email. Privy creates an embedded wallet for you — no
extension, no seed phrase. (Your first transaction needs a little testnet MON
for gas: faucet.monad.xyz.)
- Click a villager to open its market: the aura chart (hover a point to read
the AI's one-line why it moved), the live window, YES/NO prices, the order
book and the handle's source feed.
- Tap "Get 1,000 test USDC" in the trade ticket, then buy YES or NO. Each
trade is a real, user-signed transaction on Monad testnet.
- Watch the window close. It freezes at the end, settles on the aura it closed
at, and winning shares claim 1 USDC each.
Why it's different
- The asset is momentum, not an event. Prediction markets usually price
"will X happen by date Y" — slow to resolve, easy to dispute. Aura prices the
continuous trend of attention, in windows from 15 minutes to a day.
- The model advises; code decides. The AI returns a direction, a magnitude in a
±5–20% band and a one-line rationale. Code scales that by an evidence weight
(credibility × volume × reach) and clamps it, so a confident take on one weak
article moves the index far less than a broad, high-reach story.
- Every move is explained and replayable. The memo is written on-chain with the
move. Each tick is hashed over the exact items the model saw, its raw reply and
the applied percent: re-fetch the evidence, re-run the prompt, compare the hash.
- No observation, no settlement. A window with no aura observation is left to
VOID and refunds traders, instead of resolving on a stale number.
How it works
scoped sources ──▶ aura engine ──▶ on-chain aura ──▶ market windows
(RSS · APIs · (AI scores (Handle.updateAura (MarketMaker LMSR,
OAuth feeds) text + reach) + AuraHistory) YES/NO per slot)
▲ │
└────────── indexer (Envio) ────────┘ every entity the UI + oracle read
- Ingest. Per-handle adapters pull real items with real reach (author, likes,
replies, views). Each source is a JSON config stored on-chain in
Handle.sources[]. Adapters fail closed without credentials and never invent a
metric.
- Score. The aura engine builds the signal (normalized volume + engagement +
item texts), asks the AI for direction + magnitude + memo, scales it by
evidence, writes the new aura on-chain, and pushes it over WebSocket.
- Trade. The window engine opens a market window per handle per slot. Prices
come from an LMSR market maker plus an order book, backed by the auraLP pool;
early believers can stake $AURA on a handle and earn a cut of every window that
settles.
- Settle. At
windowEnd the window resolves from the aura series and the next
slot opens in the same tick, so a handle always has a live window.
The full step-by-step, with what is and isn't deterministic, is
the decision path below.
This is the beginning of the README. Read the rest at the original. Read the full README ↗