Correlation engine · Robinhood Chain 4663
Everything moves together.Until it doesn't.
Virelan watches six assets and learns which pairs move as one. The moment a bonded pair stops agreeing, a market can open on it. No creator lists it, no admin picks it, no oracle feeds it.
Not live yet. The CA will appear here and on X at the same moment.
__CA__
This address exists in exactly two places: this page and @virelanengine. If they do not match, it is a copy. Any address in your DMs is fraud.
The engine
Nothing here is reported. It is read.
Robinhood Stock Tokens trade in Uniswap pools on chain 4663, and every pool keeps its own price history. Virelan reads it. There is no feed to fake and nothing to attest.
The contract keeps no records of its own. Every Uniswap V3 pool already stores its own price history, so when you ask Virelan a question it calls observe() on six pinned pools and reads the last two hours back out of them. The difference between two ten minute ticks is a log return, in plain integers, with no fixed point, no feed and nothing anyone has to keep up to date.
A pair is scored on its last twelve epochs in which at least one of the two actually moved. An epoch agrees when both moved the same way. Nine out of twelve and the pair is bonded. An epoch where neither moved is skipped rather than counted, because two dead things are not two things moving together.
split(a,b) is permissionless and the caller picks nothing: the contract re-checks the bond, re-checks the break, and reverts if either fails. Markets open at 3am, because nobody schedules them.
Live
Fifteen pairs, scored as you watch.
Six assets, read straight from their Uniswap pools by your browser. Dark squares are bonded pairs. Red means one just broke.
Reading the pools
Six hours of price history, straight from the chain.
Markets
Back a side.
When a bonded pair breaks, anyone can open a market on it. Betting runs for thirty minutes, and at sixty the engine reads the pair and pays the winning side the whole pot.
Settlement
A market here is a claim about a relationship.
So it settles on the relationship, counted by the same contract that opened it. No review, no resolution committee, no dispute window, and nothing for anyone to interpret.
Settlement
How a split holds or heals.
The rule that opens a market is the rule that closes it, read by the same contract, so neither side can argue with the result.
One question, two pools
Is the pair back in sync when the clock runs out? Back REJOINS if you think the relationship survives, STAYS APART if you think it is genuinely broken. Bets are in ETH, from 0.0005. Parimutuel: the winning pool takes the whole pot pro rata. No AMM, no price oracle, no fee, no counterparty but the pool.
Betting closes at thirty minutes
The clock starts at formation, not at a scheduled open. Betting is open for the first thirty minutes and then shuts, because the live score is public and without a cutoff the last minute would belong to whoever is watching it. The market is decided at sixty.
The bond is the judge
REJOINS pays only if, at expiry, the pair is bonded again on the same twelve epoch window and its newest move agrees. The rule that opened the market is the rule that closes it. It is read as the pair stood the moment the clock ran out, so settling late cannot change the answer.
A one sided book refunds
If nobody took the other side the market settles to REFUND and every stake is claimable at par. A bet nobody took is not a bet. And if the pools can ever no longer answer the question, the market refunds at par rather than hold anyone's ETH, because there is nobody to keep it.
On-chain
What it can do, in full.
Four functions: split, back, settle, claim. No owner, no admin, no keeper, no fee, and nothing that can change after deploy.
rpc.mainnet.chain.robinhood.com
fixed at genesis, nothing minted after
the winning pool takes the whole pot
Questions
The obvious ones.
What people ask before they trust a contract with their ETH.
Why can't I just fake the input?
What stops someone opening a junk market?
split(a,b), and that is the point, but the call reverts unless the contract independently agrees that the pair was bonded and has just broken. The caller chooses nothing and pays the gas. Spamming it costs money and produces no markets.Why these six assets?
Where does the page get two hours of history without a server?
observe() hands back the cumulative tick at any moment it still holds. These six carry between 1,800 and 6,000 observations, comfortably more than a day. The page reads six hours per pool in one call, which is deeper than the twelve epoch window needs, because quiet epochs are skipped and a pair needs room to find twelve that actually scored. The page does not sample you into a window over time and it does not keep anything on your machine, because it does not need to.Why is direction the whole test, with no size check?
Why time weighted averages instead of the spot price?
What will this site ever ask me to sign?
0xfcd6…e2B6: opening a market, placing a bet, settling a market and claiming winnings. Never a token approval, never a token transfer, never a signed message. Check the address in your wallet before you confirm, and if you want proof rather than a promise, fetch /app.js and /desk.js and search them for 095ea7b3 (approve), a9059cbb (transfer) and personal_sign. The count is zero.What happens if the RPC is down?
The market opens
when the pair breaks.
Six assets. Fifteen pairs. No admin, no oracle, nothing self reported.