Security and how money moves
CURVETIX sells event tickets on Meteora Dynamic Bonding Curves on Solana. There is no program of our own: every ticket, trade and pass is a standard Meteora or SPL token transaction you can read on any explorer.
What a ticket is
Each event is a token with its own curve. One ticket is 1,000,000,000 tokens divided by the event's capacity. The first ticket costs the starting market cap divided by the seats, and every seat sold lifts the price of the next. When the curve holds its threshold it sells out: the pool moves to Meteora DAMM v2 with its liquidity locked for good, and the remaining tickets trade there on the open market. Tickets bought anywhere (our page, Jupiter, Axiom) work at the door the same way.
What your wallet signs
- Buy: an exact number of tickets for at most the price you see plus your slippage (Meteora swap, exact out). The SOL goes into your own wrapped-SOL account, into the pool, and whatever is left comes back in the same transaction.
- The last tickets: a buy that takes what is left on the curve (including the odd part of a ticket) and returns the rest of your SOL. It sells the curve out.
- Sell back: an exact number of tokens for at least the price you see less your slippage.
- Door pass: a burn of whole tickets from your own account, with the memo
curvetix:in:<event>:<pass>:<lock>. Burned tickets are gone for good: a pass can't be sold back. - Put an event on sale: the event's pool, co-signed by a fresh mint key the site made for it, plus your optional first buy in the same transaction.
- Claim fees (organizers): your share of the trading fees, out of the pool into your wallet.
- Free messages that move nothing: the launch session, opening the door of your own event, and the key of your pass.
Before anything reaches your wallet, this page checks every instruction of the transaction the server built: who pays, where SOL goes, which pool, which amounts, and that nothing else rides along. It refuses anything else. These checks are served by the same server, so your wallet's own preview is the last word: read it before you approve.
The door
A pass is a burn on chain, so anyone can see it. That is why a pass has a lock: when you make it, your wallet signs a free message, the page hashes the signature into a key, and only the hash of that key (the lock) goes into the memo. The QR on your pass carries the key. The door scanner admits a pass once, and only with the key that matches its lock. A pass number copied off the chain has no key; a screenshot of your QR does, so keep it to yourself until you are at the door.
Your wallet signs the same message the same way every time, so on a new phone you open the pass from My tickets, sign once more, and the same QR comes back. Never sign that message on another site.
Organizers open the door of their own event by signing a message; they get a link for their staff. That link scans passes for that one event and does nothing else. Passes can be made from 48 hours before the start until 12 hours after it.
Who holds what
- Your tickets and SOL stay in your wallet. The site never holds them.
- The SOL of a curve sits in its Meteora pool. After the sell-out it is DAMM v2 liquidity, locked: half of the LP belongs to the platform, half to the organizer, and neither can pull it.
- Trading fees stay in the pool until claimed. Meteora keeps 20% of each fee; the rest goes half to the organizer (1.2% of every trade) and half to the platform's treasury.
- The server holds one key: a small wallet that pays the rent of moving sold-out curves into DAMM v2. The treasury and the dev wallet are never on the server.
The numbers (read them on chain)
- Trading fee 3%. In a pool's first five seconds an anti-sniper fee applies: 15% at the first second, falling in a straight line to 3%. An organizer's own first buy, inside the launch transaction, pays 3%.
- Start market cap 42.88 SOL, sell-out at 48 SOL.
- After the sell-out the DAMM v2 pool charges 1%.
- Names and tickers can never change.
Addresses
- mainnet config Ch8ZwKJzPGdC816hMEA5oPRJ5mC2DfscKQkwfHos9GLp
- mainnet dev (house event $TIX) E9jWU2CVC4YxXbzsUc3zbqHG7iaLVHkbMTbXEKPekgV4
- mainnet treasury oS1djoR3P5Am9gZMz923KaFE5mY6gUA4AZ8rGFZhzWq
- Every event the site issues has a mint ending in "tix".
Report a problem
Found a way to lose someone's money or get in without a ticket? Please tell us before telling everyone: a direct message to @curvetix (see also security.txt). Meteora's own programs are Meteora's to fix.