A money changer that never sleeps.
Earn works like a currency kiosk — it quotes both directions around the live exchange rate, runs 24 hours a day, and covers as many currencies as you choose. This page builds the prompt; an AI agent sets it all up on your machine.
Where Earn lives.
Earn is open-source code that runs on your machine — not on Sera's servers. That's not a marketing choice; it's the only architecture that keeps Sera (the exchange) from holding your private key. Three things live in three different places.
- The AI agent itself runs here
- Your private key + wallet stays here
- Signs every order locally
- Can be paused or stopped anytime — it's your code
- Routes signed orders to matching
- Publishes market data & order book
- Publishes the live token & market registry
- Never holds your funds or your key
- Vault contract holds your deposited funds
- Settles every matched trade on-chain
- You can
emergencyWithdraw()directly if Sera's API ever goes down - Open-source, audited code
Sera (the exchange) never has the ability to move your money. Every order, cancel, and withdrawal needs a signature from your wallet — and your wallet's private key lives on your machine, not ours. The only thing Sera can do is route your already-signed messages and publish market data.
One pool, dozens of markets at once.
Sera's shared capital design means your stablecoins earn against every currency you pick at the same time — not split across them. Pick as many of the 40 supported tokens as you like. The same dollar backs every market at once.
A trader's XSGD → TGBP swap routes through your USDC pool. Both legs settle atomically. You keep USDC and earn +0.114.
A trade cycle on USD / SGD
Here is what happens to $1,000 of your capital, step by step, when the market behaves normally. Earn never trades against Sera — takers on the exchange hit your quotes.
The 9.80 SGD is the earned spread — the difference between selling at 1.2799 and buying back at 1.2701, scaled to $1,000. Both fills together capture ≈0.77% of the round trip; your spread setting decides how wide that gap is.
From 0.76% per trade to ~30% yearly return.
A single trade earns a tiny fraction of a percent. Multiply by the trades per day, the currencies running in parallel, and the days in a year — and the small per-trade profit compounds into a real yearly return.
The range reflects the natural variation in how often trades happen. Strongly trending markets shrink the actual number; markets that move back and forth grow it. Treat every number here as illustrative — your spread, currencies, and market conditions set the real figure.
Yearly return by trading style
The trading style chosen at setup controls how close to Sera's prices you offer. Closer = more trades, smaller profit per trade. Further = fewer trades, larger profit per trade. The expected yearly return moves with both.
What Earn is doing at any moment
At any moment, your money is in one of these four states — and all four can be happening across different currencies at once. Your terminal (and Telegram, if enabled) shows which.
What to expect after you go live.
From the moment the agent starts quoting, here's the natural cadence — and why a quiet first day is not a broken agent.
rotor reads the config your agent wrote — your stablecoins, currencies, and spread — verifies your wallet, syncs the server clock, and prepares the first cycle.
A single VL batch of bids goes up — one bid per currency, all sharing your stablecoin budget. Your terminal lists every placement. You haven't earned anything yet — that's normal.
Someone hits one of your bids. Your USDC converts to that currency. The AI agent immediately posts the closing ask at the profitable price, and you're now mid-trade.
The closing ask fills. Currency converts back to your stablecoin at a profit — usually a few cents on a $1,000 budget. The log (and Telegram, if enabled) records it, and the agent reposts for the next one.
Either the markets are quiet (weekend, off-hours for your pairs) or your chosen spread is wide and nobody has crossed it yet. The agent is still working — it's a market maker, it waits.
And a slow market still pays: even one 0.77% round-trip a month adds up to roughly 9% a year. Pick more currencies, or wider-spread pairs, and the cadence picks up fast.
What the agent actually does, every ~5 minutes.
This is rotor's live run loop — the open-source script your prompt sets up. Sera enforces a cancel cooldown on resting orders; rotor's default 305-second cycle leaves a settlement buffer before re-quoting.
Each currency gets its rate from the source you chose — Wise, the ECB, the Fed's H.10, Bank Negara Malaysia, or the MAS. No price feed from Sera is trusted blindly; the reference is independent.
Quotes sit at your fixed spread from the reference mid — the risk level you picked at setup. One bid, one ask, per market.
rotor checks which of its resting orders filled since last cycle. A filled bid means it now holds that currency — so the next quote set tightens the opposite side to the return spread, priced to rotate the inventory back.
Tracked placements from earlier cycles are cancelled once the local cancel guard allows it, so the agent never trips Sera's cancel cooldown chasing every tick.
The new quotes go up. Orders that spend the same stablecoin are grouped into one Virtual Liquidity batch — a single budget backs all of them at once instead of locking funds per order.
Then it waits out the rest of the 305-second cycle and goes again. Nothing phones home: logs stay on your machine, and the only outbound message is the optional Telegram alert you configured — sent to you, nobody else.
Why this works, and where it doesn't.
Honest framing — the edge is real, but it isn't free money. Here is the structure of both.
Why the edge exists
- Spreads vary widely by currency pair — razor-thin on majors, much wider on less-traded pairs (often over 1%). You choose the spread you quote, and the wider the pair, the more each round-trip earns.
- Sera's shared capital design lets the same stablecoin earn against every currency you pick at the same time — far harder-working than a regular trading account.
- Updating quotes is free, so Earn follows the reference rate instantly without paying any fees.
- Running 24/7 means trades happen across every time zone, not just during local hours.
Where the risk is
- Mid-trade risk — between step 1 and step 2, you're holding a currency. If the price moves against you before step 2 happens, that trade earns less or loses.
- Trending markets — when a currency moves one direction hard, only one side trades, leaving you holding the currency while waiting for prices to swing back.
- Stopping mid-trade — if you stop while a trade is in progress, you keep the currency you were holding until you sell it back yourself.
- How this is handled — many currencies running in parallel spread out the risk. A slow trade on one currency is offset by finished trades on the others.
Open-source software. Use it, fork it, or build your own.
Earn is free, open-source code. We built and released it so more people can earn from FX without having to write trading software themselves.
The full source code of rotor — the market maker your prompt sets up — is public. Read it, audit it, run it on your own machine, or fork it.
View the repo →Sera itself is permissionless. Anyone can build their own trading AI agents or yield strategies on top — Earn is just one example of what's possible.
Read the docs →rotor gets one ability only: post and cancel quotes on Sera with the stablecoins you put up. It cannot move money to another address and cannot do anything you didn't sign for — every order is signed by your wallet, on your machine. Withdrawing always needs your own signature, and stopping the script stops the quotes. Any agent you build yourself works the same way — that's how Sera is designed.