How Fell works

Fell lets you place limit orders for tokenized stocks on Robinhood Chain. It's a website, not a protocol. Every order is a plain order on Seaport 1.6, the settlement contract OpenSea built, which was already deployed on Robinhood Chain at its canonical address. Fell adds no contract, holds no keys and charges no fee. Your wallet signs every transaction, and you can check each one before you do.

What an order is

A Fell order is a Seaport order with exactly one thing offered and one thing asked for:

It has no zone, no conduit and no fee recipient. Its type is PARTIAL_OPEN, so anyone may fill it, in part or in full. It has a start time, an end time, and a random salt that makes each order unique. The price is simply the USDG amount divided by the number of shares.

Seaport accepts a partial fill only when the fraction divides every amount in the order exactly. Two amounts a person picks almost never share a divisor, so an order built naïvely could only ever be filled whole. Fell rounds both amounts down to a multiple of 100 units, which is a hundredth of a cent of USDG and a negligible sliver of a share. Every whole percent of the order then divides exactly. The app shows the rounded amounts and the exact price they carry before you sign.

Robinhood stock tokens are "scaled" tokens: the raw units in your wallet never change, and a multiplier the issuer sets (currently between 1.000 and about 1.005) turns them into shares. Fell converts in both directions exactly as the token does, so "10 shares" means what your brokerage would call 10 shares.

Placing an order

  1. Approve Seaport to move what the order offers: the shares for a sell, the USDG for a buy. The approval covers this order plus every open order you already have offering the same token, because Seaport draws on it only when a fill happens. This step is skipped when the approval is already large enough.
  2. Publish: Fell calls Seaport's validate from your wallet. Seaport skips the signature check when the caller is the order's own maker, marks the order valid, and writes the whole order into an OrderValidated event. Nothing leaves your wallet.

Fell also shows what Uniswap would pay or charge right now for about $500 of the stock. If Uniswap already beats your price, or someone on the book already does, the app says so and offers to trade immediately instead.

The book

No server keeps the order book. The app reads every OrderValidated event Seaport has emitted on Robinhood Chain since block 51,600,000 and keeps the ones shaped like a Fell order. Then, in one multicall, it asks Seaport and the tokens where each order stands:

When the scan ran, 81 Seaport orders had been published on the chain since that block, and 0 of them were Fell-shaped.

Filling an order

Choose an order on the book and how much of what's left you want. Fell sends fulfillAdvancedOrder with a fraction of k/100 of the original order. Seaport moves your side to the maker and the maker's side to you in the same transaction, or reverts and moves nothing. If someone else fills part first, Seaport caps your fill at what remains instead of failing. The app compares the order's price with Uniswap's before you sign.

Cancelling

"Cancel" calls Seaport's cancel with the order's parameters. Only the maker can cancel. A cancelled order can never be filled again, and whatever was already filled stays filled. You can also stop every order at once by revoking Seaport's approval in your wallet: nothing can be settled without it.

Trading right now

"Right now on Uniswap" swaps through Uniswap v3's SwapRouter02 in the pool with the best quote for your size, with a 0.5% slippage floor and a 20-minute deadline. It's there for when you'd rather not wait.

Contracts

Every address Fell talks to. None of them were deployed by Fell.

Seaport 1.6 (settles every order)0x0000000000000068F116a894984e2DB1123eB395
USDG (the dollar side)0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
Uniswap v3 SwapRouter020xCaf681a66D020601342297493863E78C959E5cb2
Uniswap v3 QuoterV20x33e885eD0Ec9bF04EcfB19341582aADCb4c8A9E7
Multicall3 (reads)0xcA11bde05977b3631167028862bE2a173976CA11
NVIDIA (NVDA) token0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC
Circle Internet Group (CRCL) token0xdF0992E440dD0be65BD8439b609d6D4366bf1CB5
SpaceX (SPCX) token0x4a0E65A3EcceC6dBe60AE065F2e7bb85Fae35eEa
United States Oil Fund (USO) token0xa30FA36Db767ad9eD3f7a60fC79526fB4d56D344
Nasdaq-100 ETF (QQQ) token0xD5f3879160bc7c32ebb4dC785F8a4F505888de68
Gold ETF (GLD) token0xC9a981FEE1F9DEc688bb123ccDeCc63D0deBFC4e
Micron Technology (MU) token0xfF080c8ce2E5feadaCa0Da81314Ae59D232d4afD
Reddit (RDDT) token0x05b37Fb53A299a1b874A619e1c4C404D52C36F4C
Hims & Hers Health (HIMS) token0xCceE82fE024c36fA15E1005edE3E9e4787e23D09
Alphabet (GOOGL) token0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3
Strategy Inc. (MSTR) token0xec262a75e413fAfD0dF80480274532C79D42da09
Microsoft (MSFT) token0xe93237C50D904957Cf27E7B1133b510C669c2e74
AMC Entertainment (AMC) token0x05a3d1Cd21d0C88145E82600E62e7E496e0F222B
Meta (META) token0xc0D6457C16Cc70d6790Dd43521C899C87ce02f35
Amazon (AMZN) token0x12f190a9F9d7D37a250758b26824B97CE941bF54
Costco (COST) token0x4EA005168D7F09a7A0Ba9D1DEf21a479950E44C2
S&P 500 ETF (SPY) token0x117cc2133c37B721F49dE2A7a74833232B3B4C0C
Eli Lilly (LLY) token0x8005d266423c7ea827372c9c864491e5786600ea
Apple (AAPL) token0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9
Intel (INTC) token0xc72b96e0E48ecd4DC75E1e45396e26300BC39681
Silver ETF (SLV) token0x411eFb0E7f985935DAec3D4C3ebaEa0d0AD7D89f
Trump Media & Technology Group (DJT) token0x1D11f0496982706C5e14A514D4E79F2e6BdE4516
Dell (DELL) token0x941AE714EC6D8130c7B75d67160Ca08f1e7d11Dd
iShares 0-3 Month Treasury Bond (SGOV) token0x92FD66527192E3e61d4DDd13322Aa222DE86F9B5
AMD (AMD) token0x86923f96303D656E4aa86D9d42D1e57ad2023fdC
Roblox (RBLX) token0xF0C4BF4C582cb3836e98394b1d4e7B7281101bE8
GameStop (GME) token0x1b0E319c6A659F002271B69dB8A7df2F911c153E
Broadcom (AVGO) token0x156E175DD063a8cE274C50654eF40e0032b3fbcF
Quantum Computing (QUBT) token0x59818904ab4cE163b3cE4FfB64f2D6Ca02c434B4
Taiwan Semiconductor Manufacturing (TSM) token0x58FfE4a942d3885bAa22D7520691F611EF09e7AA
Palantir (PLTR) token0x894E1EC2D74FFE5AEF8Dc8A9e84686acCB964F2A
Cloudflare, Inc. Class A common stock (NET) token0x116F00968269B7bfbaD4109cE591d6E74c0601d4
Moderna (MRNA) token0x43B07D15cE533bEc5476d70C22a78a1B2B662155
Sandisk Corporation (SNDK) token0xB90A19fF0Af67f7779afF50A882A9CfF42446400
Netflix (NFLX) token0xE0444EF8BF4eD74f74FD73686e2ddF4C1c5591E8
Johnson & Johnson (JNJ) token0x03DfbBE0AC4E7bCDaFd08eD41A400326B77D8c80
Take-Two Interactive Software (TTWO) token0x5e81213613b6B86EaB4c6c50d718d34359459786
USA Rare Earth (USAR) token0xd917B029C761D264c6A312BBbcDA868658eF86a6
ASML Holding NV (ASML) token0x47F93d52cBeC7C6D2CfC080e154002370a60dAEA
Tesla (TSLA) token0x322F0929c4625eD5bAd873c95208D54E1c003b2d
Nu (NU) token0x408c14038a04f7bD235329E26d2bf569ee20e250
Rivian Automotive (RIVN) token0xB1BF26c1D20ff267A4f93550d1E0d06ac40a114B

How it was tested

The suite (tools/test.mjs) runs the app's own transaction builder (js/fell.js) against the live Robinhood Chain with eth_simulateV1. That means the real Seaport, the real stock tokens and the real USDG, with funded test wallets and nothing ever broadcast. For several stocks it publishes sell and buy orders, fills them in parts and in full, and checks every amount that moved against its own arithmetic, done without the module under test. It also cancels orders, lets them expire, voids them with a counter bump and moves the maker's balance away. Every refusal has to be the specific error Seaport raises.

At block 71,626,500: 20/20 properties passing, 1161 individual checks. A browser run (tools/e2e.mjs) drives the real app in headless Chrome, with a wallet that signs into the same simulator: two wallets place, fill, partly fill and cancel orders by clicking the page. 7/7 steps passed, 32 checks.

Risks