Wick
Buy $25 of a stock every week, automatically, without giving anyone your money. Your dollars stay in your wallet until the day they are spent, and the shares come straight back to you.
The contract is 0xfbCf…f7eE — not deployed yet — the first person to light a wick deploys it, in the same transaction. It has no owner, no admin, no pause and no fee switch.
What a wick is
A thread that draws a little, steadily, until you pinch it out
You light it
One transaction says what to buy, how much of it, how often, and how much in total: “$25 of Apple every 7 days until $300 is gone.” Nothing moves. You have given Wick an ordinary ERC-20 allowance — the same permission you give any exchange — and it may draw only the amount you named, only once a period, only until the budget is spent.
Anybody pulls it
A schedule nobody executes is a wish, so when a wick is due, any address may pull it and takes 20 bps of that week's dollars, never under 5c and never over 25c for the gas. Nobody can pull early, nobody can pull twice in a period, and nobody chooses what you pay: the minimum number of shares is worked out inside the contract from Robinhood's own price feed.
You pinch it out
snuff() stops it, and so does revoking the allowance in your wallet — Wick has to ask your dollar token for permission every single time, so taking that permission away ends the schedule without needing Wick's cooperation at all. There is nothing to withdraw, because nothing was ever deposited.
One draw, in full
$25 of AAPL, on the day it is due
| Drawn from your wallet | $25 |
| Tip to whoever pulled it (20 bps, floor 5c, cap 25c) | 5c |
| Spent on shares | $24.95 |
| Robinhood's price for AAPL | $335.38 |
| The minimum the contract demands (100 bps under it) | 0.073648 shares |
| What the 0.05% pool actually filled at | $335.38 (0 bps) |
| Shares you receive | 0.074392 shares |
Prices and pool costs read from Uniswap's own quoter and Robinhood's own feed at block 67,497,356 on 20 Sept 2026. The shares you receive depend on the pool when your wick is actually pulled; the minimum does not.
Why a stranger does the work
Because you should not have to be awake. A wick is a public, permissionless queue: your schedule is on chain, the tip is on chain, and anybody running a script can earn it. The page has a queue where you can see every wick that is due right now and pull one yourself.
What the caller cannot do
- Pull before the wick is due — NotDue.
- Pull twice in one period — the schedule advances before any money moves.
- Take more than the tip — the tip is transferred explicitly and the rest is spent on shares.
- Send the shares anywhere but to you — the recipient is the wick's owner, in the code.
- Route you through a bad pool — the minimum comes from the feed, not from them.
The one thing worth understanding
The person who pulls your wick picks the pool. Your price limit judges it.
Uniswap has several pools for the same stock, and they are not equally good. On Apple the cheapest fills a $25 buy at 0 bps over Robinhood's own price, and the dearest at +269 bps. Whoever pulls your wick chooses which one to use — so the contract computes the minimum number of shares itself, from the feed, and hands that minimum to Uniswap. A caller who picks the dear pool does not cost you money; they get a refusal and no tip.
The price comes from the chain
Robinhood publishes a price feed for each of its tokenized stocks — the same feed this chain's lending market uses to value that token. Wick reads the one you named when you lit the wick, refuses an answer that is not positive, and refuses one older than 36 hours.
The tolerance is yours
You set how far below the feed a fill may land — 100 bps by default, between 10 and 500. It is not a price target and Wick will not try to time the market: it is the line under which a fill is refused.
And it is tested by moving the price
A guard nobody has seen refuse anything is decoration. The suite installs a price feed it controls, moves the price until the pool cannot meet the minimum, and requires the pull to be refused — with the control, at the true price, going through in the same call.
What it costs
Three things, and you can see all three before you sign anything.
5c
the tip, per draw
20 bps of that week's dollars, never under 5c and never over 25c. It comes out of that week's dollars, so a $25 draw buys $24.95 of shares. It is fixed in the contract at the address above and nobody can raise it.
4.00c
gas to light a wick
Paid once, by you, in ETH on Robinhood Chain — an approval and the schedule itself. Pulling costs 4.61c, and whoever pulls pays it, not you. Measured on a fork of Robinhood Chain at block 67,536,563, at the 0.0660 gwei the chain reported and the $2,624 its own ETH/USD feed reported. Deploying the contract — once, by whoever is first — is 33.36c more.
+32 bps
the pool, at this size
What Uniswap's cheapest pool charges over Robinhood's price for a $25 buy, across the 22 stocks — the median. A small buy costs almost exactly what a large one does here, which is the thing that makes a weekly $25 worth doing at all.
Measured 20 Sept 2026 at block 67,497,356
What a wick can buy
Every tokenized stock on this chain that has a Robinhood price feed and a Uniswap pool that fills a $25 buy within 300 bps of that feed. The cost columns are what Uniswap's own quoter said a buy of that size would actually pay, against the feed price, at one block.
| Stock | Price | $5 | $25 | $100 | $1,000 | Pools |
|---|---|---|---|---|---|---|
| SGOV iShares 0-3 Month Treasury Bond | $101.11 | -58 bps | -58 bps | -58 bps | -58 bps | 2 |
| AMD AMD | $559.42 | -51 bps | -51 bps | -50 bps | -43 bps | 2 |
| GME GameStop | $22.55 | -19 bps | -18 bps | -18 bps | -17 bps | 3 |
| PLTR Palantir Technologies | $177.60 | -16 bps | -16 bps | -15 bps | -13 bps | 1 |
| NVDA NVIDIA | $222.45 | -13 bps | -13 bps | -13 bps | -13 bps | 2 |
| ASML ASML Holding NV | $1,676.63 | -12 bps | -10 bps | -6 bps | +51 bps | 2 |
| MU Micron Technology | $1,014.43 | -4 bps | -4 bps | -4 bps | -3 bps | 1 |
| AAPL Apple | $335.38 | 0 bps | 0 bps | 0 bps | +1 bps | 3 |
| MSFT Microsoft | $495.82 | +11 bps | +11 bps | +11 bps | +12 bps | 1 |
| GOOGL Alphabet Class A | $350.47 | +23 bps | +23 bps | +23 bps | +23 bps | 2 |
| SPY SPDR S&P 500 ETF Trust | $761.55 | +26 bps | +26 bps | +26 bps | +27 bps | 2 |
| TSM Taiwan Semiconductor Manufacturing | $434.26 | +31 bps | +32 bps | +32 bps | +37 bps | 1 |
| CRCL Circle Internet Group | $91.76 | +37 bps | +37 bps | +37 bps | +38 bps | 1 |
| USAR USA Rare Earth | $15.61 | +37 bps | +37 bps | +37 bps | +45 bps | 1 |
| TSLA Tesla | $363.80 | +45 bps | +45 bps | +47 bps | +58 bps | 3 |
| AMZN Amazon | $253.86 | +48 bps | +48 bps | +48 bps | +49 bps | 1 |
| SNDK Sandisk Corporation | $1,792.32 | +51 bps | +52 bps | +53 bps | +68 bps | 1 |
| SLV iShares Silver Trust | $59.85 | +54 bps | +73 bps | +75 bps | +76 bps | 3 |
| META Meta Platforms | $666.76 | +85 bps | +85 bps | +85 bps | +87 bps | 2 |
| INTC Intel | $109.05 | +95 bps | +95 bps | +96 bps | +102 bps | 1 |
| BABA Alibaba | $113.77 | +110 bps | +110 bps | +111 bps | +117 bps | 2 |
| DELL Dell | $570.72 | +143 bps | +143 bps | +143 bps | +147 bps | 1 |
23 of the 45 tokens considered are not here, and the reasons matter: 10 of them have no price on this chain except a Uniswap pool's own price — and a pool cannot be the reference for a guard on a trade in that pool, so Wick will not buy them at any price. The whole list, with each reason →
What was actually checked
Everything below ran against the real chain or a fork of it, and every number here is read out of the file the run wrote.
22/22
properties, on chain
Each one an eth_call against the real Uniswap router and the real tokens, with the real contract installed at its real address. Includes a control that must fail.
7/7
with a clock
On a fork: re-arming to the second, a wick pulled five weeks late, a budget running out on a half draw, a feed going stale and coming back.
3 seeds
random sequences
Real transactions in random order — lighting, pulling, snuffing, waiting weeks, moving the price, revoking the allowance — with 11 invariants checked after every one.
13/13
deliberate breaks caught
The contract was recompiled with one line changed at a time and every seed replayed. Including the ones that first got through →
The fuzzer caught 13 of 13 deliberate breaks, 13 of them by the invariant named for it. The two that got through the first time were an uncapped tip — the fuzz was only drawing $5-$60, where 20 bps is a penny and the 25-cent cap never binds — and a weakened price minimum, which no invariant could see while every pull happened to use a good pool. Both are now checks of their own: draws large enough for the cap to decide the tip, and a leg that pulls through the 1% pool and requires a refusal.
What Wick does not do
- It does not time the market. A wick buys on its day at whatever the pool charges, within your limit.
- It does not hold your money, so it cannot pay you interest, and there is nothing to withdraw.
- It does not sell. A wick only ever buys.
- It cannot make anyone pull your wick. If the tip is not worth anybody's gas, the draw waits — and you can always pull it yourself.
- It has never been audited. It is 8,675 bytes of Solidity you can read in ten minutes, and everything on this page is a check you can re-run.
What you are trusting
- The contract, for the rules — every one of them is in the source.
- Robinhood, for the price feed and for the tokens themselves: they can pause a stock, and they hold an admin role on it.
- Uniswap, for the swap. Wick calls SwapRouter02, which was already on this chain and is not ours.
- Your own wallet, for the allowance — and you can take it back without asking Wick anything.
Light one
You need a wallet on Robinhood Chain, some USDG, and a minute. The app shows you every number before you sign, and the first transaction you send is the one that decides everything.