Remora
Launch app
Live on Solana mainnet

Trade on rules,
not reflexes.

Describe a strategy in plain English. Remora compiles it into rules you can read, proves it on paper, then runs it live from a wallet only you control.

Non-custodial Privy wallet Routed by Jupiter Composed by Claude Judged by Jev
The rule library

Every strategy is the same bricks, combined differently.

Fourteen triggers, nine conditions, eleven actions. Claude composes them from what you say. You approve the result. The engine runs it, exactly as written.

when

Triggers

Something happens on-chain or on the clock.

intervalprice_crossprice_changedrawdown_from_peakvolume_spikewallet_eventholder_eventliquidity_changesecurity_changeposition_pnlfilltimebudgetmanual
if

Conditions

Guards any trigger. All must hold.

price_betweencooldownmax_firespositionbudget_leftrule_statemarketjevtime_window
then

Actions

Trade, or steer the other rules.

buysellsell_to_principalpause_ruleresume_ruledisable_ruleset_paramdeploy_remainingexit_allnotifyask_user
“Keep buying $100 an hour under $0.45, but if it crashes 50% and it's not a rug, stop and deploy the rest.”compiled · 2 rules
whenprice_change −50% / 24hifmarket.liquidity ≥ $50kandjev: market_drawdown ≥ 0.7
thendisable_rule dcaanddeploy_remaining 4 clips / 20mandnotify
Strategies

Start from a preset, or just say it.

Four templates cover the common shapes. Anything else, describe it in a sentence and Claude will compose the rules. You see every rule before it runs.

Accumulate, go all in on a crash

“DCA $100 an hour below today's price. If it halves in a day and isn't a rug, deploy the rest and trail a stop.”

wheninterval 60m · if price ≤ cap · then buy $100
whenprice_change −50% / 24h · if jev: market_drawdown · then deploy_remaining
whendrawdown_from_peak 25% · if crash completed · then sell 100%
3 rules · paper firstUse preset

Buy the dip, sell the rip

“Buy $200 on every 20% dip from the daily high. Sell a quarter at +50%, another at +100%, trail 30% on the rest.”

whenprice_change −20% / 24h · if cooldown 4h · then buy $200
whenprice_cross +50% from avg_cost · then sell 25%
whenprice_cross +100% · then sell 25%
whendrawdown_from_peak 30% · then sell 100%
4 rules · paper firstUse preset

Accumulate with wallet guard

“Buy $50 every 30 minutes under $0.50, up to $1,000. If one of these three wallets sells, get out.”

wheninterval 30m · if price ≤ $0.50 · then buy $50
whenwallet_event sell ≥ 20% · then exit_all, notify
2 rules · paper firstUse preset

Sell into volume spikes

“Whenever 5-minute volume runs 5x the hourly pace with price up, sell 25%. At most once an hour.”

whenvolume_spike 5× · if cooldown 60m and position > 0 · then sell 25%
1 rule · paper firstUse preset
How it works

Four steps. No code, no seed phrase.

01

Describe

Say what you want in plain English, or pick a preset. Claude compiles it into rules from the library. Nothing it writes can trade on its own.

02

Approve

Read the rules as when / if / then. Set the budget, per-trade cap, slippage and daily loss ceilings. Rules can never override them.

03

Paper trade

Every strategy starts on paper against live prices. Each tick records what fired, what was blocked, and why.

04

Go live

Flip to live and the bot signs from your wallet under a Privy policy: Jupiter and token programs only, with a spend cap. Kill it in one tap.

Two models, two jobs

Claude writes the rules. Jev judges the moment.

Composing a strategy is a language problem, so Claude does it once, at design time, and never touches a trade. Deciding whether a 50% drop is a rug or a market-wide drawdown is a judgement problem, so Jev answers it at run time with a confidence score the rule can demand. Every live order also passes Jev's act, wait or ask-you gate before it is signed.

  • Fuzzy conditions like “is this volume organic?” become rule conditions
  • Low confidence pauses the rule and asks you instead of guessing
  • Every judgement is logged next to the tick that asked for it
JUDGEMENT · rule crash18:42:07

Is this drop a liquidity pull, a token-specific dump, or a market-wide drawdown?

market_drawdown0.84
token_specific_dump0.11
liquidity_pull0.05
market_drawdown at 0.84 ≥ 0.70 required · rule proceeds: deploy_remaining in 4 clips
Research, still included

Know what you're buying before the bot does.

Paste any mint and get the report: holders, insiders, security, deployer history and a verdict where every claim cites the metric it came from. Strategies read the same numbers, so a rule can refuse to buy when liquidity thins or the risk score climbs.

  • Holder forensics: bundlers, snipers, insiders, dev-linked wallets
  • Security scan: authorities, LP, Token-2022 extensions, honeypot behaviour
  • Deployer history: what the creator's last tokens did
  • market condition: liquidity ≥ X, risk score ≤ Y, usable in any rule
Paste a mint to research it

Non-custodial

Keys live in Privy's enclave. We never see them, and neither does the bot.

Policy-guarded

Live signing is limited to Jupiter and token programs under a spend cap your wallet enforces.

Paper first

Every strategy proves itself against live prices before it can touch real funds.

Every decision logged

Each tick records what fired, what was blocked and the snapshot it saw. Argue with the log, not the vibes.

Describe your first strategy.

Free on paper. A small fee only when it trades.