1. Overview
Every token of this coin sits in one Meteora DAMM v2 pool, and the liquidity in it belongs to a Solana program. No person holds the keys to that liquidity, to the coin's supply or to its name. Two things can be changed by anyone who burns 1,000,000 of the coin itself (not the quote token):
- The quote token: what the coin trades against. It could be a tokenized stock like TSLAX, a dollar like USDC, SOL, or another coin on the approved list.
- The name, ticker and picture.
Each burn buys exactly one change. Burned tokens are gone for good, so the supply only goes down. You never need to hold the quote token: to switch the coin from TSLAX to NVDAX, you burn the coin, not TSLAX or NVDAX.
2. Changing the quote
Pick a token on the home page and press Burn & Switch. Your wallet sends one transaction that moves 1,000,000 of the coin (not the quote token) into an escrow account. After that, the switch happens in steps that anyone can run (the keeper normally does it within seconds):
| Step | What happens |
|---|---|
| Request | Your 1,000,000 tokens go into escrow. Only one switch can run at a time. |
| Pull | All liquidity comes out of the current pool, along with the trading fees it earned. |
| Hop | The backing is swapped toward the new quote one Orca pool at a time, through USDC or SOL. This takes one to three swaps. |
| Reprice | Only if the coin has used the new quote's pool before: the pool is moved to the carried-over price (see section 3). |
| Add | Liquidity goes back in, and your escrowed tokens are burned. A new pool is created at the carried-over price, with the floor as its lowest price. Right after, 0.1% of the backing (with the matching amount of the coin) goes into the new pool for good as a thin position, so the pool can be moved to a new price when the coin comes back; a pool with nothing in it can't be. |
The keeper runs every step in a single transaction as soon as your request lands, and the program won't take the liquidity out any other way. So a switch happens all at once or not at all: trading never pauses. If a switch can't go through within 10 minutes (say a price it needs has moved too far), it is cancelled and your 1,000,000 tokens are sent back. The coin stays where it was.
When you can't switch
- Another switch is already running, or the last one was less than 5 minutes ago.
- The token you picked is already the quote, or has been disabled.
- The price moved sharply in the last half hour. The program waits for its averages to catch up (see section 5).
- The averages have not been updated in the last 2 minutes, which means the keeper is down.
- Someone other than the program created the pool for that quote, or the coin would land below the floor that pool was created with.
In all of these cases the request is refused before anything is burned.
3. How the price carries over
When the backing is swapped from the old quote into the new one, the program measures the exchange rate it actually got, and multiplies the coin's price by it:
new price = old price × (new quote received ÷ old quote sent)
So if the coin was worth 0.000001 TSLAX and the backing turned 1 TSLAX into 412 USDC, the coin starts at 0.000412 USDC. Its dollar value is the same, minus the swap fees, which are usually under 1% per switch.
The floor price moves the same way. The floor is the lowest price on the curve: the price reached if every token were sold back into the pool. Between the floor and the current price the pool holds the backing. Above the current price it holds every unsold token.
If the backing is tiny (worth under $1), a realised rate would be noise, so the program uses the price averages to translate the price instead.
4. Renaming the coin
Fill in a new name, ticker and (optionally) a picture and a blurb, then press Burn & Rename. The picture and details are uploaded to IPFS from your browser, and one transaction burns 1,000,000 tokens and rewrites the coin's metadata in the same step. If either part fails, neither happens.
| Field | Rule |
|---|---|
| Name | 1 to 32 bytes |
| Ticker | 1 to 10 bytes |
| Details link | Up to 200 bytes, starting with https://, ipfs:// or ar:// |
| All three | No control characters (newlines, tabs and the like) |
Nobody can veto or undo a rename. The program is the only account allowed to change the metadata, and the only way it does so is through a burn. Wallets and Solscan show the new name within minutes; sites like DexScreener and Birdeye cache names and may take longer.
5. Price averages and safety checks
A switch trades the whole backing at once, which would make it a target: push a price, trigger a switch, profit. To stop that, the program keeps its own slow-moving average of every price it trades on, and refuses to trade when the live price strays too far from it.
| Setting | Value |
|---|---|
| Average time constant | 5 minutes |
| Average counts as stale after | 2 minutes without an update |
| Warm-up after a restart | 10 minutes of updates |
| Coin's pool may stray from its average | 3% (at the pull) |
| A route pool may stray from its average | 2% (before each swap) |
| A swap may return less than the average says | 2%, after the pool's own fee |
The admin can tighten or loosen these within hard limits (0.5% to 5%). After every switch the coin's own average restarts from the price the program just set, so the next switch can go 5 minutes later (the site counts it down; requests before then are refused before anything is burned). After a genuine big move, such as a 2× pump, switching waits roughly 25 minutes for the average to catch up.
6. Approved quote tokens
Only tokens on the program's list can become the quote. The list comes from the stonkfun approved quotes: tokenized stocks, pre-IPO tokens, dollars, SOL, plus other coins with deep enough Orca pools to swap the backing without losing much.
Every token routes through a hub, either USDC or SOL, using one Orca pool that pairs it with its hub. That pool is also where its price average comes from.
| Token | Name | Group | Price |
|---|---|---|---|
| Loading… | |||
7. Fees
- Trading fee: 1% per trade, collected in the quote token. Meteora keeps 20% of it, so the coin's position earns 0.8%.
- New pools: the first switch to a quote the coin has never used costs the requester 0.03 SOL on top of the burn: the rent of the new pool and its permanent thin position.
- Where it goes: the keeper collects the fees every 15 minutes and right before each switch. A share set by the admin () goes to the project's fee wallet; the rest stays as extra backing.
- Swap fees: when the backing is swapped during a switch, the route pools charge their usual fees (typically 0.04% to 1% per hop).
- Burns: 1,000,000 of the coin per rename or switch. There is no other charge, besides normal Solana network fees.
8. The keeper
The keeper is a small program run by the project. It does two jobs:
- Updates the price averages about once a minute.
- Runs the steps of every switch, and cancels switches that run past their 10-minute deadline.
It holds no special power. Every step it sends could be sent by anyone, and the program checks each one. If the keeper goes down, switches can't start (the averages go stale) and any switch in progress can be cancelled by anyone after its deadline, refunding the burn. The keeper's source is in the GitHub repository.
9. Contract reference
| Program | 3ZYVePG4LhBWH9JvhGcExo1ysX6mWAwTGavBvyMgM3Ws |
|---|---|
| Coin mint | not launched yet |
| Decimals | 6 |
| Mint authority | none (revoked at launch) |
| Freeze authority | none |
| Metadata update authority | the program's authority account |
| Coin's pools | Meteora DAMM v2 customizable pools, 1% fee collected in the quote token, priced from the floor to the top |
| Route pools | Orca Whirlpools (one per quote, against USDC or SOL) |
| Source | github.com/ShabbatMonster/chamelequote |
Instructions
| Instruction | Who | Does |
|---|---|---|
rename | anyone | Burns 1,000,000 of the coin and rewrites name, ticker and details link. |
request_switch | anyone | Escrows 1,000,000 of the coin and starts a switch to an approved quote. |
pull, hop, reprice, seed, add | anyone | The steps of a switch (see section 2). |
claim_fees | anyone | Collects the trading fees and pays the fee wallet its share. |
abort | anyone, after the deadline | Cancels a stalled switch and refunds the burn. |
poke_quotes, poke_pool | anyone | Update the price averages. |
list_quote, set_quote_enabled, set_quote_route | admin | Manage the approved list. |
set_risk_bounds, set_fee_share | admin | Tune the safety checks (0.5% to 5%) and the fee share (up to 100%). |
set_admin | admin | Hands over or renounces the admin role. Renouncing freezes the list for good. |
The admin can't move funds, change the metadata, mint tokens or touch liquidity.
10. Risks
- Not audited. The program has been tested against the real Meteora, Orca, Raydium and Metaplex programs, but no outside firm has reviewed it.
- Stock tokens: tokenized stocks are issued by a company that can pause, freeze or move them. That includes the coin's backing while it sits in one.
- Thin quotes: a quote with a shallow pool can make a switch fail its slippage check, or cost the backing a few percent.
- Coming back to a quote: each quote's pool keeps the floor it was created with. When the coin returns to it later, part of the backing or of the unsold coins may not fit the old range and waits outside the pool until the next switch. If the coin would land below that old floor, the switch is refused before anything is burned.
- The admin list: whoever holds the admin role decides which tokens can be quotes, until the role is renounced.
- Renames are open to everyone: anyone with 1,000,000 tokens can rename the coin to anything that fits the rules, including names you won't like.
Only burn what you are happy to burn.
11. Glossary
- Quote
- The token the coin is priced in and paired with in its pool.
- Backing
- The quote tokens sitting in the pool: what sellers are paid from.
- Floor price
- The price the coin would reach if every token were sold back. The backing covers everything above it.
- Hub
- USDC or SOL. Every approved quote routes through one of them.
- Route pool
- The Orca pool pairing a quote with its hub. Swaps and price averages use it.
- Sentinel
- The thin, all-prices position the coin leaves in every pool it has used, so the pool can be repriced when the coin comes back.
- Escrow
- Where a switch request's burn waits until the switch lands (burned) or is cancelled (refunded).
- Keeper
- The helper program that runs switch steps and updates price averages.