Private FX execution
Quote blind. Settle atomic. Win on price.
Tenor gives dealers an isolated quote stream inside an Ephemeral Rollup, then settles the winning fill on Solana.
Open trader terminalUSD / INR
—
Built with
The problem
A published quote is free optionality. Makers price that risk in — so the largest market on earth stays off-chain.
$7.5T
traded in global FX, per day
~0.002%
of that volume happens on-chain
<$30M
combined daily volume of existing Solana FX venues
How it works
The RFQ loop.
Post a blind request
A trader posts a USD/INR request. Five dealers stream quotes into isolated, permissioned accounts inside a Private Ephemeral Rollup.
Reprice, unseen
At 10ms block times each dealer reprices roughly 300 times across a 3-second window. No dealer can read another's price — enforced by the TEE at the hardware level.
Window closes, TEE matches
A crank fires the window closed. The TEE matches by price-time priority; a VRF call breaks any tie.
Atomic settlement
A Magic Action binds the private fill to public USDC settlement in one atomic step. Losing quotes are never published, logged, or recoverable.
Architecture
Base layer, private ER, public settle.
Dealers quote inside a MagicBlock TEE. Magic Actions bind the private match to Solana settlement — fill digest public, losing quotes gone.
The spread collapse.
Dealer quotes
5 isolated dealersBuilt on
Every primitive is load-bearing.
Private Ephemeral Rollup
Runs inside Intel TDX. Enforces that no dealer can read another dealer's quote.
Ephemeral Oracle
Pyth-priced USD/INR feed available inside the private rollup.
Magic Actions
Atomically binds the TEE's match output to on-chain USDC settlement.
Session Keys
Lets dealer bots reprice continuously without re-signing every quote.
VRF
Breaks price-time ties fairly when two dealers quote identically.