Mirror Flare Confidential Compute · Coston2

Mirror

Private copy trading on Flare.

A lead encrypts a signal. A TEE decrypts it, sizes every follower from live FTSO prices and vault balances, and settles the fill on public contracts — without ever putting the strategy in the mempool.

FCC · two FCEs FTSO v2 FDC proofs FXRP vaults XRPL Smart Accounts
01 · ProblemWhy copy trading breaks on a public chain

Why copy trading breaks on-chain

eToro has 40 million users. Bybit, OKX, and Bitget ship copy trading natively. Retail wants skilled traders’ performance without managing every position. That demand is real. Onchain, the same product destroys itself.

Lead publishes a trade

Wallet becomes popular. Followers watch every outbound swap.

Replicas hit the mempool

Follower txs land seconds after the original, in the clear.

MEV sandwiches the wave

Bots frontrun the lead, then the followers, with higher gas.

Alpha dies with popularity

Worse price for the lead. Worse still for every copier. Scale inverts the product.

There is no way to make copy trading MEV-resistant with a normal smart contract: a public signal is a public invitation to frontrun.

01 · ProblemFlare’s DeFi stack vs. the missing primitive

What’s missing on Flare

Flare already has the venue for XRPFi. It does not have a way to follow a skilled trader without leaking the strategy.

Flare already has Still missing

DEXes, lending, CDPs, and liquid staking around FXRP

but

No copy-trading product of any kind

FTSO v2 prices at ~1.8s, plus 90s anchors

but

No encrypted signal path — a popular lead wallet is a public strategy

FDC proofs for EVM txs, XRPL payments, and Web2 JSON

but

No FDC-gated settlement of copy fills and lead fees

FAssets and Smart Accounts so XRPL users can enter without FLR

but

No proportional, private fan-out of one intent into many vaults

FCC / TEE enclaves that can keep intent sealed until execution

but

No attested, risk-adjusted leaderboard — only raw PnL vanity

That gap is exactly what Mirror fills. FCC is not a bolt-on. It is the primitive that makes the product safe to exist.

02 · ProductWhy this exists

What Mirror is

Copy a skilled trader on Flare without putting their strategy in the mempool. Scale no longer destroys the edge.

On a public chain

Copying is a leak.

The lead’s wallet is the strategy. Followers race it in the mempool. MEV takes the fill. Popularity is a tax.

With Mirror

Copying is sealed.

The lead encrypts. A TEE copies into FXRP vaults. The chain only sees the fill — after it happens, with a proof.

01

Leads can get popular

Intent never hits the mempool. Searchers see ciphertext. The strategy stays an edge, not a public RSS feed.

02

Followers get a fair fill

One signal, sized per vault, priced from live FTSO. Batched execution — not a stampede of copy-cats.

03

Anyone can audit the result

The swap is public. FDC proves it. Vaults and lead fees move only after that proof — not on an operator’s word.

02 · ProductFrom the running system

What makes Mirror different

Encrypt in the browser

Ciphertext only on-chain. Searchers get noise.

Two separate TEEs

Matching ≠ scoring. Independent code hashes.

Sized per vault

Fan-out to each follower. Not one cloned tx.

Live FTSO prices

Sizes from the oracle. 1% floor on expected out.

Fees need a proof

No FDC attestation, no payout. claim() is blocked.

Scores, not hype

Sharpe, drawdown, cadence, data. Not an LLM.

Start from XRP

Xaman in. No FLR required to follow.

Drift & health alerts

Strategy change and liquidation risk, in-app.

02 · ProductInside the TEE vs on the chain

What’s private vs public

INSIDE THE TEE · NEVER ON-CHAIN the decrypted trade who follows, and how much the matching math private fill history Sharpe internals · drift log · SCORE_V1 events after fill ON THE CHAIN · ANYONE CAN CHECK encrypted signal bytes the venue swap happened FDC proof of that swap vault delta · score 0–100 · strategy badge never the signal body

Followers see classification-level summaries only — “mean-reversion lead, ahead on epoch P&L.” An adversarial test asserts Stage B calldata is ciphertext-only.

03 · How it worksThree ways to enter the same product

Who uses Mirror

Three people. After onboarding, they share one vault graph — a lead’s sealed signal copies into each follower’s FXRP.

Lead trader

Sells a strategy without leaking it

Sets a fee (0–20%) and encrypts each trade in the browser. Followers copy automatically. The lead sees total AUM, never who is copying or how much.

Has a Flare wallet · already trading

Follower · already on Flare

Deposits FXRP and is done

Picks a lead from Discover, chooses risk, deposits. The next encrypted signal is sized into their vault. They never see the trade itself — only the result.

Needs FXRP on Flare

Follower · XRPL / Xaman

Pays XRP. Never holds FLR.

Pays from Xaman. Flare proves the payment, opens a Smart Account, and credits an FXRP vault. From there it is the same as the Flare follower path.

XRP only · no EVM wallet required

03 · How it worksFrom the frontend, FCEs, contracts, and relayers — not the PRD

How the system connects

APP TEE · PRIVATE FLARE C-CHAIN · PUBLIC Web app Discover · Signal · XRPL encrypt.ts ECIES → TEE pubkey Operator XRPL monitor · fill poll Alerts drift · liquidation FCC · two FCEs Matching FCE MATCH_V1 · TOPUP_V1 AI FCE SCORE_V1 · classify tee-proxy /action/result/{id} InstructionSender Stage B in · fill + settle Registry · Vault · Fee identity · FXRP · FDC fees Leaderboard attested score 0–100 FTSO · FSA · HealthAuth

sealed / TEEon-chainenclave boundary

03 · How it works/lead/onboard → /signal → FCC instruction

How a lead publishes a signal

Wallet Coston2 EOA registerLead fee · strategy · teeHash TEE /info 0x04 || x || y ECIES lock browser only plaintext never on chain MATCH_V1 sendMirrorMatchStageB UI waits on MatchExecuted — fill-worker calls executeMatch, not the page

Signal body: { asset, direction: SELL, sizePct, nonce, lead } · FCC fee 1e6 wei · FXRP-only because the vault is single-asset.

03 · How it works/discover → /lead/[address] → /follower/onboard

How a follower starts copying

Discover score · strategy Lead page 0–100 · fee % register risk profile approve FXRP 6 dp deposit vault.deposit followLead allocation live ONE SUB-ACCOUNT · (follower, lead) MirrorVault · InstructionSender is the only mover balance · pendingLocked during fill · never sees sizePct or direction

Risk stays on-chain (conservative / moderate / aggressive). Copying starts on the next encrypted signal — no extra click.

03 · How it works/follower/xrpl · FDC Payment · MasterAccountController

How XRPL holders join with no FLR

Xaman QR · 32-byte memo XRPL Payment operator rEyj…bXwq Monitor waiting_xrpl FDC Payment testXRP · ~90s round MasterAccount executeInstruction MirrorFsaOnboarder.onboard registerFollowerAs → followLeadAs → vault.depositFor from here the follower is identical to the EVM path

No C2FLR required. Combined Core Vault mint+onboard still needs mint liquidity on Coston2 — the canary proves FDC Payment + onboarder.

03 · How it worksfce-matching-engine · handleMirrorMatchStageB

How the matching TEE works

ciphertext MATCH_V1 MATCHING FCE · TEE decrypt /decrypt FTSO v2 FXRP · USDT0 size fan-out (balance − locked) × sizePctBps / 10_000 F1 F2 F3 ··· Fn { to, data, venue } does not broadcast exactInputSingle minOut = expected × 0.99 authorizedExecutor fills

Venues: mock-sparkdex default · optional BlazeSwap V2 · Enosys/Firelight if MIRROR_MOCK_VENUES. PMW signing of the settlement tx is still partial (SIGN_PORT).

03 · How it worksexecuteMatch → PendingFill → applyFdcSettlement

How a fill becomes final

executeMatch authorizedExecutor venue swap FXRP locked PendingFill not settled yet balances unchanged FDC attest EVMTransaction apply proof unique tx hash settleFromProof + accrueFee + releaseFee lead 0–20% of profit · protocol 10% of that (computed, not yet FIRE) · claim() always reverts

Withdraw queues via requestWithdrawal — funds return after unwind, not as an instant ERC20 transfer. Proof-free settleBatch is off by default.

03 · How it worksfce-ai-agent · SCORE_V1 · not a language model

How leads get scored

outcome log private · Bearer AI FCE · SCORE_V1 · not an LLM composite 0–100 Sharpe 40% DD 25% cadence 20% data 15% classify mom · mean-rev · yield drift? conf ≥ 0.55 updateScore onlyAiAgentSigner · host, not TEE alerts + TOPUP_V1 health CR < 13000 bps

Web2Json (DeFiLlama / CoinGecko) is attested in canaries and stored as an attestation id — it is not mixed into the 0–100 weights.

03 · How it works/portfolio · /withdraw · alerts · TOPUP_V1

What followers see after a fill

encrypt MATCH_V1 FTSO size fill venue FDC prove SCORE_V1 UI Healthy balance · epoch P&L classification only Drift Detected class ≠ baseline review allocation Liquidation Risk CR < 13000 bps optional TOPUP_V1 Withdraw requestWithdrawal after unwind

The strategy itself is never shown. Portfolio language stays at classification level: “mean-reversion lead — ahead on epoch P&L.”

04 · FlareConfidential compute + prices — why Mirror can exist

How Flare powers Mirror

PrimitiveHow Mirror uses itWhy it is required
FCC / TEE Matching + scoring FCEs on Confidential Space (AMD SEV). Decrypt, size, score stay sealed. A public contract cannot hide intent until after execution. Without the enclave, copy trading is MEV bait.
FCE + code hash Registered extensions, published hashes (fce:compare-hashes). InstructionSender / AiAgentSender latch extension ids. Anyone can verify matching logic is unmodified without reading a live signal.
Tee registries + payments sendInstructions with 1e6 wei fee. TeeManager logs yield the instruction id the UI waits on. Decentralised relay into the enclave — not a private API the operator can silently swap.
FTSO v2 (~1.8s) TEE + FtsoPriceReader + MockSparkDexRouter quote FXRP/USD and USDT0/USD from ContractRegistry. Follower size and min-out must not be manipulable by a stale pool tick.
FTSO anchor (~90s) AnchorDivergenceGuard on large notionals: revert if |block−anchor| / anchor exceeds maxDivergenceBps. Second, slower reference stops a short FTSO blip from oversizing a copy wave.
04 · FlareAttestation, assets, accounts, venues

Flare proofs, assets, and XRPL

PrimitiveHow Mirror uses itSignificance
FDC EVMTransaction Relayer attests the venue Swap. InstructionSender checks router, amounts, unique hash, status 1. Vault settle and lead fee release are trust-minimised — not an operator “yes, it filled.”
FDC Payment XRPL Payment → MasterAccountController.executeInstruction. Proves the XRP actually moved before a Flare sub-account is created.
FDC Web2Json Score canary attests DeFiLlama TVL / CoinGecko vol into attestation ids on the leaderboard. External market context is cryptographically referenced, even if not in the 0–100 weights.
FAssets / FXRP Sole vault asset (6 decimals). TEE resolves via AssetManagerFXRP.fAsset(). Native XRP exposure on Flare DeFi — no wrapped-bridge custody story.
Flare Smart Accounts PersonalAccount + MirrorFsaOnboarder.registerFollowerAs / depositFor. Opens Mirror to 40M+ XRP addresses that have never held FLR.
Venues SparkDEX V3 ABI (mock on Coston2 — no bytecode). BlazeSwap self-seeded pair. Kinetic / Enosys / Firelight interface mocks; real Firelight vault reserved. Same calldata path swaps to mainnet routers later. Coston2 honesty: mocks are labeled, not hidden.
05 · UsersCopy trading that does not force a privacy tradeoff

Who this is for

Copy-traders who refuse compromises

They want skilled flow without leaking intent, getting sandwiched, or trusting a black-box operator. Mirror is the platform where copy trading stays private until filled and public once proven.

Flare DeFi users already on-chain

They have FXRP in-wallet. Discover + one deposit is the whole job. They need risk-adjusted scores (Sharpe, drawdown) instead of a PnL leaderboard that hides blow-ups.

Lead traders

They will not publish a wallet if popularity is a MEV tax. Encrypted signals + batched fills let them sell a 0–20% performance fee without donating the strategy to searchers.

Why this helps them specifically

  • Secure copy trading without giving up verifiability
  • MEV protection is the difference between “copy” and “get farmed”
  • Attested scores stop followers from picking the loudest, most fragile lead
  • Drift alerts are the missing safety net every CEX copy product still lacks
  • XRPL Smart Accounts still open the door for XRP users — without making them the whole story

Not the target

High-frequency arb desks that need sub-block exclusive orderflow. Mirror is proportional copy of vault FXRP, not a dark pool for professional flow.

06 · NextProduction-ready first, then mainnet and distribution

What’s next

Harden the enclave path until fills are boring. Then take the same contracts to mainnet and grow through XRPL.

Make it production-ready Then the business side

Audit Registry, Vault, Fee, Sender, FSA onboarder, and both FCE code hashes

then

Deploy to Flare mainnet (chain 14) with the live SparkDEX V3 router

Finish TEE-resident PMW signing so the executor key is not a human EOA

then

Seed a small set of verified leads — scores stay 0 until real fills

Fill-worker uses TEE-sized amounts instead of re-deriving size

then

GTM through Xaman / XRPL: follow from XRP, never buy FLR first

Route the 10% protocol cut into FIRE / FIP.16

then

Liquidity partnerships so FXRP/USDT0 can absorb copy waves

Swap mock SparkDEX / Kinetic / Enosys for live venue addresses

then

Lead acquisition via performance fees, not token incentives

One-shot FSA mint so XRPL → vault credit does not need an EOA top-up

then

Optional Firelight stXRP tier, then Kinetic / Enosys strategy leads

Always-on drift and health monitors, plus multi-operator FCC as the network matures

then

Only after fills are boring: FBTC markets, Songbird canary, and a mobile shell

Thank you