Live · Robinhood Chain 4663Programmable markets · Uniswap v4

Build the hook.Launch the market.

Compose up to five visible swap rules, then open a Uniswap v4 pool instantly or use a bonding curve for price discovery first. Either way, the rules are fixed in place.

Hooks published last good read, through block 33971443.

Onchain hook receipt

Hooks published

Last good read
Reusable blueprints31Published to the registry, and every launch names the stack it inherits

Scope All supported Spark releases. A hook is a reusable onchain blueprint: anyone can launch with one, and its author is routed a royalty when they do.

The five blocks

What the hook actually does

Each block runs inside the swap, on the pool's own callbacks — there is no keeper, no off-chain trigger, and no oracle. Cuts apply to exact-input buys; sells pay the LP fee only. Every number below is a parameter you set before launch and nobody can set again afterwards.

Anti-Snipe
01

Caps early buys and adds an LP fee in the first blocks.

~160K gas per swap
Surge Fees
02

Fee scales with trade size.

~120K gas per swap
Auto Burn
03

Burns a share of actual buy output.

~140K gas per swap
LP Rewards
04

Fee share streams to LPs.

~150K gas per swap
Nth-buy Pot
05

A public counter pays every Nth buy.

~180K gas per swap

The hook builder

Pick the blocks.
Read the cost.

One block per behavior, five at most. As you tune the guard window, the pot cadence, or the burn share, the builder recomputes what a buy actually costs — the LP fee, the ETH-side cuts, and the output burn composed the way the contract composes them, not added up. Save the stack as a blueprint others can launch with, or launch it yourself.

  • Five blocks, no Solidity
  • Buy overhead recomputed as you tune, before you sign anything
  • Creator fee split and LP distribution set per launch, not on the blueprint
  • Every parameter public on the token page
Open the builder
Spark · how a buy is split

The LP / pot ETH cut and Auto Burn apply to exact-input buys only. Auto Burn destroys its share of actual token output; it never accrues an ETH vault. Sells and exact-output buys pay the LP fee and nothing else.

The Nth-buy pot is deterministic: its public counter advances at most once per pool per block and the advertised Nth qualifying slot takes the pot. A funded pot remains claim-backed for the next scheduled winner; there is no permissionless flush. Qualifying buys must bind a canonical nonzero recipient, which the production router supplies automatically.

Read how it works →

For Sparks

Publish a blueprint.
Take a cut.

Compose a stack, publish it as a blueprint, and earn a royalty on the eligible ETH hook fees whenever someone launches with it. Royalties are funded by the LP and pot ETH cuts; an Auto-Burn-only stack has no ETH share to fund one.

Compose a hook
Top blueprint authors by reuse
  1. 10x5a52…4aA223 launches · 0–5% royalty
  2. 20xA181…D60e7 launches · 1% royalty
  3. 30x8997…6C4F3 launches · 1–3% royalty
  4. 40x6FBA…7BAb1 launch · 5% royalty
  5. 50x0053…CFf91 launch · 1% royalty

Questions

Frequently asked

What is Spark.fun?

A token launchpad with a custom Uniswap v4 hook builder on Robinhood Chain (chain id 4663). You stack up to five blocks into a hook, launch a fixed-supply token behind it, and every rule is readable on chain before anyone trades.

What are the five hook blocks?

Anti-Snipe caps and taxes buys for a set number of blocks after graduation. Surge Fees scales the LP fee with how much of the pool a trade consumes. Auto Burn sends a share of actual buy output to the dead address. LP Rewards donates an ETH-side share of buys to in-range LPs. The Nth-buy Pot fills a deterministic pot that pays the Nth qualifying buy.

Is the Nth-buy Pot random?

No, the pot is not random. A public counter advances at most once per pool per block, and the Nth qualifying slot wins — arithmetic anyone can check on chain. A minimum buy applies, and claimants can redirect their payout.

Where do Spark tokens trade?

New launches sell through a bonding curve of ten tranches, each priced 70% above the one before it. When the last tranche sells out, the launch graduates into a Uniswap v4 pool in the same transaction, with its hook attached and immutable from then on.

Is Spark adding leverage?

It is a published design, not something deployed. Leveraged Hooks would be credit extended by a hooked market itself rather than by a lending vault beside it: one pool, one liquidity base, spot and leverage on the same balance sheet. A trader posts equity, the market finances the rest and books what is owed back to it, and opening, closing and liquidating all execute through that same pool. How much credit a market may write is the minimum of its liquidity, the depth a liquidation could actually sell into, the $SPARK bonded behind it and a protocol limit — so bonding more $SPARK can raise that ceiling only up to what those other limits already allow, and never past them — behind a thin market it buys nothing. It would arrive through a bonded module marketplace rather than as a sixth built-in block. Providing liquidity to such a market means underwriting its credit: past the module's reserve, bad debt is the pool's. Leverage can lose you everything you post as equity. Not financial advice.

What is the official Spark X (Twitter) account?

@usespark_ — https://x.com/usespark_. Verify links before connecting a wallet; an address plus its chain, not a ticker or a handle, is a token's identity.

What is the $SPARK contract address?

The source-listed $SPARK project token is 0x18E674231A58c239Dc7DaeDcffE15Ec3A24cff5c on Robinhood Chain 4663. Always verify the full address before trading. Its listed market is a hookless Uniswap v4 pool. The app verifies the token's launchpad relation at a pinned block before showing project-token market or trade UI; an unavailable result is never inferred as either outcome.

Launch a token behind your own hook.

Four steps: name the token, pick the hook, choose an instant pool or a bonding curve, set the fee split, deploy. The hook is attached to the pool and cannot be changed.

Instant launchBonding-curve launchExplore tokens