The first dark pool for tokenised stocks. Sealed orders, crossed at the V4 midpoint. Robinhood Chain.

Joined September 2026
Blackpool is live on Robinhood Chain. Sealed stock orders, crossed every four minutes at the Uniswap V4 midpoint. $BPOOL CA : 0xa32cdb8e84c68eb995c8dc270b528d7c5d6a0f20
52
16
10
135
40,816
The limits, in plain words: depends on drand; if it stalls, the order misses its batch and loses the 1 USDG bond the round is estimated from the L1 pace at the round anyone can decrypt, seconds before settle; the guards cover it vault balances still public not audited
3
1
359
Verify it yourself: Blockscout: 0x59e89Ed4D0E126B8260694bF40B16156dA64A6Ee Sourcify: exact match cast call stakeToken() returns $BPOOL the keeper's state is public v1.1 is paused, withdrawals open. Encrypted orders are the default on web and mobile.
2
1
2
360
At the end of the batch the keeper calls settleWithReveals(): decrypt, reveal, settle, one transaction. No public reveal window, no need to stay online. Close the app. Want to reveal it yourself? Still an option.
2
1
9
1,482
What v2 keeps: 80 % of fees to $BPOOL stakers, in USDG 9 markets priced from Uniswap V4, no oracle whole-batch price sampling public keeper: 13-block priority to settle, no funds, no other power no proxy, Sourcify exact match, 71 tests
2
266
Each market tracks an EMA of its batch averages: 1/8 per batch, capped at 0.5 %. Settlement must sit in the batch band AND in 2x the band around the reference. Moving it means holding the pool for several batches.
1
1
236
Encrypted orders. commitSealed() posts a hash, a 1 USDG bond and your order encrypted to the drand quicknet round at the end of the batch. Until that round, nobody can decrypt it. Not bots, not the keeper, not us.
12
4
22
2,120
Blackpool v2 is live: encrypted orders. Your order is timelock-encrypted to the end of the batch. Nobody can read it before, not even us. The keeper decrypts, reveals and settles in one transaction. Commit and walk away. Tokenised stocks, 9 markets, Robinhood Chain.
4
1
18
1,458
The $BPOOL real yield loop: trade: sealed orders cross at the V4 midpoint fee: 0.10 % each side, in USDG split: 80 % to $BPOOL stakers, same call claim: USDG lands in your vault Nothing minted to pay stakers. No emissions. No lockup.
3
10
887
Blackpool v1 is live. v2 is in the works: a longer price window behind every settlement price a zero-knowledge proof of funds, so balances stay private encrypted reveals, so no order is public before the cross
5
3
11
825
Blackpool is in your pocket. Android: signed APK at blackpool.dev/app/download iPhone: web app at m.blackpool.dev Self-custody wallet in the Keychain or Keystore. Seal and commit in two taps. Auto-reveal when the window opens. Stake $BPOOL, claim USDG.
6
2
1
14
1,000
Blackpool does not depend on us. poke(), settle() and collectForfeits() are external, with no role and no whitelist. Our keeper runs 24/7 and publishes its state. If it ever stops, anyone can sample, settle and collect the bonds.
7
2
17
1,007
The source is the product. withdraw() has no owner check and no pause check. The fee cap is a constant: 50 bps. Any fee change waits FEE_DELAY = 2 days. No proxy, and Sourcify shows an exact match. Read it yourself. Not audited yet, and we say so.
4
3
24
1,609
How do you move a Blackpool price? You mostly can't. A one-block spike is one sample among many and a settle price out of bounds voids the batch. A long push has to hold the pool for minutes against every arbitrageur, and still stays inside the guard.
3
2
11
1,330
Price guard upgrade, live now. The keeper samples all 9 markets in one Multicall3 call every 3 L1 blocks during the commit window. The settlement price is checked against ~4 minutes of samples instead of ~1. Idle batches still cost nothing.
8
4
22
1,376
"Where does Blackpool get its price?" Not from an oracle. Settlement reads slot0 of the stock's Uniswap V4 pool, onchain, in the settlement block. No price feed, no signer, no server, no market hours. Same chain. Same block. One price for the whole batch.
5
4
14
1,302
Don't trust us. Verify Blackpool in 60 seconds: 1. The contract on Blockscout: 0xd1F22941F39b4CAABD46BfB66d8c7DB28F4c3b22 2. Sourcify: exact match on creation and runtime bytecode 3. stakeToken() returns $BPOOL 4. The keeper's state, live
6
2
16
2,033
You asked for a demo. Here is one full Blackpool batch in the real app: wallet, deposit, stake $BPOOL, seal an NVDA buy, auto-reveal, keeper settles at the V4 midpoint, NVDA in the vault, rewards claimed.
11
11
1
34
2,825
The Blackpool keeper is live and public. It samples the V4 midpoint, settles batches and collects forfeited bonds on contract v1.1: 4 settles, 5 pokes, 1 forfeit collected, 0 failed so far. It has no special role. Anyone can make the same calls.
2
4
13
1,158