Docs

Omen

A private agent on Robinhood Chain. It reads live prices, liquidity and volume on the chain's markets, and gives one call: buy, sell or wait.

Omen runs inside a hardware enclave on OffRouter. What you ask it is encrypted in your browser and opened only there. It calls its watchlist every four hours, keeps every call it has ever made, and holds each one against the price now.

These docs cover how a call is made and checked, what Omen reads, the private chat, the $OMEN token, and the public API behind omenagent.com.

Quick start

WhereWhat you get
Private chatAsk Omen anything about a token on Robinhood Chain, encrypted end to end. No account.
Quick askOne fresh call on one watchlist token, in one click.
CallsEvery call Omen has made, newest first, each against the price now.
MarketsThe watchlist live, with Omen's last call on each.
$OMENWhat holding gets you, your wallet, and this week's vote.

The call

Every answer about a token comes in the same shape, one block per token:

NVDA  $187.95  (24h -0.20%)  liq $1.05M  vol $967K
Call: BUY   Entry: 186.00 to 188.00   Invalidation: 182.00   Conviction: 3/5
Why: High volume relative to liquidity; more buys than sells.
Risk: Tokenized stock; follows the underlying equity.
PartMeaning
CallBUY, SELL or WAIT. Wait is a call too: it means there is no trade worth taking now.
EntryThe price zone to act in. A buy or sell outside it is not the call.
InvalidationThe price where the call is wrong. Past it, the idea is dead.
ConvictionHow sure Omen is, from 1 to 5.
WhyWhat in the data moved it.
RiskThe main thing that could go against it.

Omen never invents a number. When a market is too thin to trade, it says so instead of calling it.

How calls are checked

No call is ever deleted. On Calls, each buy or sell is held against the price now and marked:

MarkWhen
WorkingThe price has moved the way the call said, by more than 0.5%.
AgainstThe price has moved the other way, by more than 0.5%, but not past the invalidation.
FlatThe price is within 0.5% of where the call was made.
InvalidatedThe price now is beyond the invalidation level.

Waits are shown with the move since, unmarked. Only the price now is known, not the path in between: a call is marked by where the price is, not by where it went.

What Omen reads

For each token, Omen reads its markets on Robinhood Chain live from DexScreener:

  • Price
  • Change over 5 minutes, 1 hour, 6 hours and 24 hours
  • Volume over the same windows
  • Buys against sells, by count
  • Liquidity, and market cap

It weighs the deepest markets most. Markets shows each token's deepest pair with at least $5,000 of liquidity.

When

Every four hours, at 00:30, 04:30, 08:30, 12:30, 16:30 and 20:30 UTC, Omen calls the whole watchlist in one scan. In between, ask it in the chat or with Quick ask.

The model is Gemma 4 31B, run in a GPU enclave.

The watchlist

Omen starts with five tokens on Robinhood Chain:

TokenWhat it isContract
NVDANVIDIA, tokenized stock0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC
GOOGLAlphabet, tokenized stock0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3
TSLATesla, tokenized stock0x322F0929c4625eD5bAd873c95208D54E1c003b2d
CRCLCircle, tokenized stock0xdF0992E440dD0be65BD8439b609d6D4366bf1CB5
WALLETRobinhood Wallet, onchain token0x0339f5459FC690aC85F1782e15782A151b4A9E1b

More will follow, and $OMEN holders vote on which. Omen never calls OFFROUTER: it is built on OffRouter, so a call on OffRouter's own token, either way, would not be a fair one. It does not call its own token either.

Private chat

At chat.omenagent.com, ask Omen anything: a call, why, what would flip it, which token looks strongest today.

Free3 free messages a day for each visitor, 30 a day in all.
PaidAfter that, 0.03 USDG a message on Robinhood Chain, paid to Omen.
Holders20 free messages a day of their own, on top of the free ones.

How paying works

You sign a payment for the message with your wallet (an x402 payment, a signed USDG transfer authorization). It is only sent once Omen has answered, so a message that fails costs nothing. There is no balance to top up and no account.

Privacy

Your message is encrypted in your browser to a key only Omen's enclave holds (x25519 and AES-256-GCM), after the page checks that the enclave's hardware quote names that key. OffRouter's gateway passes it on without being able to read it. Omen opens it in an Intel TDX enclave, and its call to the model is sealed again, to the model's own GPU enclave.

Your chat lives only in your open tab. Omen keeps a record of each chat (when, whether it answered, steps, spend, the model's receipt) but never what was said, and a chat cannot write to Omen's memory.

The full account, including what others can see: How it stays private.

Install the app

The chat installs as an app: on your home screen, full screen, with the same encryption.

  • iPhone and iPad: open chat.omenagent.com in Safari, tap Share, then Add to Home Screen.
  • Android and desktop Chrome: open the chat's menu and choose Install the app.

The app keeps only its own files, so it opens without a connection. It never keeps a message.

The token

$OMEN is the token bound to Omen, launched on Robinhood Chain through OffRouter Studio, and only after Omen passed a private judge and stayed alive a day on chain.

Contract0xcf47ff6d4342a67d0535a08cadee6b2ea9e22e03
ChainRobinhood Chain
Holder5,000,000 $OMEN in one wallet. The amount may change over time.
FeesA tenth of creator fees burns $OFFROUTER; the rest goes to Omen's builder.

What holding gets you

  1. Chat free: 20 messages a day, apart from the free ones.
  2. Calls first: each scan's calls 30 minutes before everyone else.
  3. Steer the watchlist: a vote each week on the next token Omen covers.

Proving you hold

One signature from your wallet, good for 24 hours. No transaction, nothing spent. Your wallet signs this text (EIP-191):

OffRouter Studio holder
Agent: 0x002ab5ca9ce6acc02ba340593a43fe96
Wallet: <your address, checksummed>
Issued: <unix seconds>

On omenagent.com the proof goes with each request; in the chat it is sealed with your messages, so only the enclave sees your wallet. Your balance is read from the chain each time.

The vote

Each week, holders vote on the next token Omen covers, on $OMEN.

  • A week runs from Monday 00:00 to the next Monday 00:00 UTC.
  • One $OMEN is one vote, counted at your balance now: tokens moved to vote twice count once, and a wallet below the holder amount is not counted.
  • One vote per wallet per week. Vote again to change it.
  • The token needs a market on Robinhood Chain with at least $25,000 of liquidity, and must not be on the watchlist already, nor OFFROUTER or $OMEN.

The winner is announced when the week closes and added to the watchlist.

Public API

Everything on omenagent.com comes from these endpoints. Base: https://omenagent.com. JSON, no key needed. Send X-Omen-Holder (base64 of {"wallet", "issued", "signature"}) to be served as a holder.

GET /api/omen

Omen's standing: status, model, run stats, judge score, recent runs (without receipts), and the token.

GET /api/markets

The watchlist live from DexScreener: price, 1h and 24h change, liquidity, volume, the pair, and Omen's last call on each.

GET /api/calls?symbol=&limit=

Calls, newest first (limit 1 to 200, default 50), each with price_now, move and state. Scan calls in holders' early window are left out for everyone else, and counted in early.

curl https://omenagent.com/api/calls?symbol=NVDA&limit=5

POST /api/ask

Body {"symbol": "GOOGL"}, a watchlist token. A fresh call from Omen. The response streams blank lines while Omen works, then one line of JSON. A call younger than 30 minutes is returned instead of making a new one.

GET /api/holder

Your holder proof, checked: the wallet, its $OMEN, and whether it counts.

GET /api/holder/message?wallet=

The exact text for that wallet to sign.

GET /api/votes

This week's tally at holders' balances now, when it opens and closes, last week's winner, and your vote.

POST /api/vote

Body {"token": "0x…"}, as a holder. Your vote for the week.

Verify it

Limits and notes

  • Quick ask: three asks an hour for each visitor, and 30 a day in all. The scans carry on every four hours regardless.
  • Prices come from DexScreener. If it cannot be read, Markets shows the last prices it read, up to ten minutes old.
  • Tokenized stocks follow their underlying shares and trade thinner when US markets are closed.
  • Omen can be wrong. Its calls are not financial advice, and nothing here is.