How it works.
Launch a coinWhat Lattice is
Lattice is a launchpad on Meteora's Dynamic Bonding Curve where a new coin is priced in a tokenised stock instead of SOL. Meteora has badged 1,213 tokenised assets as valid quote tokens: xStocks, Ondo Global Markets, Backpack Securities, leveraged products, gold and silver. Every one of them is a market here. Pick the stock, name the coin, sign once.
Buyers never need to hold the stock themselves. They pay in SOL or USDC and Lattice routes through the stock on Jupiter, then onto the curve. The trade tax arrives in the stock, and a keeper turns it into treasury, market liquidity and holder rewards on a fixed schedule. For stocks nobody can buy yet, the same tax builds the market from nothing.
The quote tokens
Badged is not the same as liquid. Each quote carries two facts read from chain, refreshed by script (last 2026-09-10):
| Tier | Meaning | Count |
|---|---|---|
| Deep | Over $100k in indexed DEX pairs. Buyers can size in without moving the price. | 30 |
| Ok | Over $10k. Trades normally. | 20 |
| Thin | Over $1k. Shallow; buyers pay slippage acquiring it. | 16 |
| Dust | Has a reference price but no real pool. Nobody can practically buy it. | 480 |
| None | No on-chain price at all. | 667 |
The axiom tag marks quotes with at least one indexed DEX pair. That is what trackers such as Axiom need to price a pool, so a coin priced in a tagged quote shows up there; a coin priced in an untagged one does not, however it trades. 78 of the 1,213 qualify today. Depth is measured from DexScreener's pair index as twice the thinner side of the deepest pair, so a pool with billions of tokens on the ask and a few hundred dollars on the bid tiers by the bid. Jupiter's liquidity field is not used; it reports a figure for Ondo names that have no pool at all.
SOL and USDC are also available as pricing quotes. They need no badge and every wallet and tracker handles them; they are what a coin uses when it sponsors a dead market (below).
Launching a coin
Three signatures, all yours. Lattice holds no key at any point.
| 1 · Metadata | Image and JSON go to Irys, permanent storage, paid by your wallet through the site's RPC proxy. |
| 2 · Pool | One transaction creates the Meteora DBC config priced in the quote, the virtual pool, and your SPL mint with the whole supply in the curve. Mint authority is gone at birth. For a badged quote the config carries Meteora's token badge; SOL and USDC need none. |
| 3 · Listing | The server reads the pool back from chain, checks the base mint, config and quote mint match what was claimed, and only then lists it. Nothing self-reported gets in. |
The curve runs from the initial market cap you set to the migration cap you set, both in quote units with live dollar estimates. At the migration cap the coin graduates to a Meteora DAMM v2 pool with the raised quote locked as liquidity. There is no infinite curve on coin launches; that option exists only for programmable nodes, where migration would strip the transfer hook.
Buying and selling
A buy is two legs, two signatures, no custody. Jupiter swaps your SOL or USDC into the quote token, straight into your wallet. Then the curve sells you the coin for exactly the amount that arrived, measured by balance delta so nothing you already held is touched. Sells run the same legs in reverse. If you already hold the stock you can pay in it directly with one signature.
The route needs to exist. On page load the coin page probes Jupiter for SOL and USDC routes into that quote and disables whichever has none. For a quote with no route at all, only paying in the stock works, and the page says so.
The trade tax
Every coin sets its own tax at launch, from 0.25% to 5%, charged in the quote on every buy and sell. It is Meteora's pool fee and cannot change afterwards. Of each trade's tax:
| Share | Goes to |
|---|---|
| 20% | Meteora's protocol fee. Fixed, taken first. |
| 20% | Lattice treasury, earmarked for buybacks of the Lattice token. Converted to USDC where a route exists and sent to h8aqSQhVnp6oUK3RASaGN2JAS6Vk8aM8Q1WRL55JfAb. |
| 0–60% | Liquidity, set by the creator per coin. Zero is allowed; deep markets do not need it. Defaults to 0 on deep and ok quotes, 40 elsewhere, 60 in sponsor mode. |
| The rest | Holder rewards, paid pro-rata by balance. |
| 0% | The creator. Your upside is the coin. |
Mechanically the creator split on the Meteora config is zero, so everything after Meteora's cut accrues to one fee claimer, the Lattice keeper, which applies the split above.
The flywheel
The keeper is a wallet with a script, run every five minutes. Its address is rNSFXMnTAS1J3ibeRj7Af1AMfuGbK67K3E8xniV55xq. Each run:
| Claim | Claims the accrued partner fee from every Lattice pool, one pool at a time, and computes that coin's split on its own. Nothing is pooled across coins except the treasury cut. |
| Fuel | If the keeper is short of SOL for rent, it sells a sliver of the treasury's USDC for SOL. Nobody tops it up by hand. |
| Treasury | Converts the treasury slice to USDC where a route exists and transfers it out. |
| Rewards | Buys the coin back from its own curve with the rewards slice and sends it to every holder pro-rata, excluding the pool vault and the keeper itself. |
| Markets | Deposits each market's liquidity slice into Lattice's market for that quote: one Meteora DLMM pair per quote, quote against USDC, standard 0.25% bin step (preset w1rfAh2z…, bin step 25). A dead market gets a standing USDC bid at and just below the reference price plus a 3% premium; a live market gets two-sided liquidity around the active bin, with half the slice swapped on Jupiter when a route exists. |
| Harvest | Claims swap fees on every keeper position in those markets and folds them back in. |
| Carry | Anything a market received but could not place is written to the ledger under that market and picked up next run, so fees never lose their market even though one wallet holds everything. |
DLMM is the venue because it accepts liquidity on one side with nothing on the other. A DAMM v2 pool pulls one raw unit of both tokens at creation, which is a wall for a token nobody holds, and a customizable DLMM pair demands the creator already hold the token. A standard preset pair does neither. All three were checked by simulation on mainnet before the first market was opened.
Every claim, swap, bid, deposit, harvest, reward and carry is written to a public ledger at /flywheel, with transaction links.
Sponsored markets
A coin priced in a stock nobody can buy would have no buyers, so it could never earn the fees meant to fix that. Sponsor mode separates the two. Launch on a dead quote and the coin is priced in USDC or SOL instead: tradeable with SOL and USDC from the first minute, on Axiom from the first minute. Its liquidity slice goes out as a USDC bid for the sponsored stock in that stock's market.
Anyone who can mint the stock at its issuer can sell it into that bid at 3% over par, through the pair on Meteora or any Jupiter-routed swap. The first fill puts inventory in the market, Jupiter starts routing SOL into the stock, and every coin priced in it becomes buyable with SOL. From then on the keeper deposits two-sided, and once it holds both the coin and the stock it opens the coin's own pair with the stock on DAMM v2.
Nothing changes for holders.The coin's own pair is a second pool for the same mint, not a new token: no snapshot, no airdrop, no migration, no new supply. Anyone who bought on the USDC curve holds exactly the coin that now also trades against the stock. The original curve stays open and keeps paying tax; Jupiter routes every buy and sell across both pools. What does change: new liquidity goes into the stock pair, the coin page shows it as the home market, and holder rewards switch from the coin to the stock itself.
The market stays open. Once a sponsored stock has inventory, it is no longer a dead quote. New coins can be launched priced directly in it, the same way as any deep market, with buyers routed from SOL and the tax arriving in the stock. Sponsor mode was only the bootstrap.
What Lattice cannot do is conjure the stock. If a quote's issuer has minted almost none, the bid may sit unfilled. The market page shows the bid, the reserves and which coins are sponsoring it.
Holder rewards
Rewards are paid in the coin: each keeper run buys it back from its own curve with the rewards slice and adds it to that coin's pot. A sponsored coin switches the day its market goes live: from then on the slice buys the stock through Lattice's own market and holders receive the stock itself, so each payout is also a fill on that market.
Tracking.Nothing is polled on chain and nothing accrues per wallet. The pot is paid out whenever it is worth paying, at least five dollars, or every run while a coin has fewer than twenty-five holders. At payout the keeper scans the token program for every holder at that moment, drops the pool's vault and itself, and sends each wallet its share by balance, eight transfers per transaction, skipping shares under a cent. Whatever is not sent stays in the coin's pot, written to the ledger under that coin, and goes out next time; pots never mix between coins. If the holder scan is refused, nothing is paid that run rather than paying a partial list. Every batch is a ledger row with its transaction, and each coin page shows what has been paid, what is waiting, and the recent payouts.
What Lattice can and cannot touch
| Your launch | Signed by you, in your wallet. The site holds no key and cannot sign for you. |
| Your trades | Two Jupiter and Meteora transactions signed by you. The intermediate stock never sits anywhere but your wallet. |
| Your coin's pool | Meteora's. Nobody, including Lattice, can withdraw the curve's liquidity or change its fee. |
| The keeper | Can claim the partner fee, swap, deposit into its own market positions, and send rewards. It cannot touch a pool, a curve, or a holder's wallet. Its positions in dead markets are withdrawable so bids can be rebalanced; its treasury cut leaves the wallet each run. |
| The registry | A cache of what the chain confirmed. Losing it loses charts and listings, never funds. |
API
CORS-open, read-only, no keys.
| GET /api/v1/quotes | The badged catalogue with tiers and tags. Filter with ?q= and ?issuer=. |
| GET /api/v1/coins | Launched coins, newest first. ?quote=&creator=&limit=&offset=. |
| GET /api/v1/coin/[mint] | One coin. |
| GET /api/v1/market?quote= | Lattice's DLMM market for a quote: pair, bid and ask reserves, active price. |
| GET /api/v1/flywheel | Keeper, treasury, fee split, per-market totals, recent ledger events. |
| GET /api/v1/price?ids= | USD reference prices for up to 50 mints. |
| GET /api/v1/jup/quote · POST /api/v1/jup/swap | The routing legs the trade panel uses, proxied to Jupiter. |
Programmable nodes
A separate Lattice product, coming soon: Token-2022 coins with a transfer hook that enforces a rule on every trade, holder caps, vesting, allowlists, dividends, verified inside live Meteora swaps. Its programs are deployed on devnet only, so it is not open for launches here yet. Preview · spec.
[ Docs reflect the code on latticepad.com as deployed. Source: github.com/Hiraeth010/lattice. ]