Documentation
How it works
1. The launch
A creator supplies token details and selects one approved third-party tokenized equity instrument as the launch's reward asset. STOCKTRESS then builds a single transaction that creates the fixed-supply token and its metadata, opens a Meteora Dynamic Bonding Curve pool using an allowlisted configuration, sets the pool creator to the derived reward-vault program address, initialises that vault with the creator, pool, token and reward mint, stores the immutable fee split, revokes mint authority as Meteora requires, confirms no freeze authority exists, and optionally executes the creator's first buy.
Atomicity is a requirement, not a preference. If the complete launch cannot fit safely into one reviewed transaction, STOCKTRESS reports an explicit unsupported state. It does not quietly fall back to a sequence that could leave an orphaned token or an unowned pool.
The mint signer is generated in the browser, partially signs the transaction and is discarded. Its secret key is never persisted, logged or transmitted.
2. Trading and fee accrual
While the token is on the curve, all quoting and swapping goes through Meteora's official SDK — builders, validators, PDA helpers, quote functions and fee math. STOCKTRESS never reimplements Meteora's curve math. Near curve completion, orders use partial-fill mode.
Trading fees accrue to the pool. A share, fixed at launch, is earmarked for the holder reward vault. Until those fees are actually claimed into the vault, any reward figure derived from them is labelled an estimate.
3. Claiming and converting
A permissionless keeper claims curve-stage fees into the vault, and post-graduation DAMM v2 fees after migration. The keeper can trigger these actions but has no authority to redirect where funds go — destinations are fixed in the vault account and enforced by the program.
Earmarked value is converted into the selected instrument through an explicitly configured execution mode. The on-chain program verifies the outcome: the vault's quote balance fell by no more than the stated maximum input, the reward-token balance rose by at least the stated minimum output, launched-token balances were untouched, both the creator and holder destinations remained fixed, and no unapproved mint received funds.
If no safe route exists, the earmarked SOL simply stays in the vault, displayed as waiting for conversion with the reason execution is paused. No substitute instrument is bought and no illiquid route is used to force a fill.
4. Time-weighted allocation
Allocation is not a snapshot. For each epoch, every finalized balance change is indexed, token accounts are aggregated by wallet owner, and each wallet's weight is its integral of balance over time — balance-seconds. Protocol-owned accounts are excluded by verified ownership, not by a fragile address list. The purchased instrument is allocated proportionally, added to each wallet's cumulative allocation, and committed as a deterministic Merkle tree whose dataset hash and root are published.
5. Claims
A holder claims cumulative allocation minus what they have already claimed, against the root published on-chain. Nothing is shown as claimable until that root exists on-chain and the proof verifies locally in the browser. Claims never expire.
6. Graduation
Launches are configured to graduate to Meteora DAMM v2, with the reward vault's migrated liquidity held in a position owned by the vault program address. After graduation STOCKTRESS reads the DAMM v2 position accounts directly to verify the pool, position NFT, position owner, permanent-lock flag, that unlocked liquidity is zero, the locked amount, the creator and protocol positions, the fee-collection mode, claim destinations and the migration signature. A database flag is never accepted as evidence that liquidity is locked.
Program allowlist
- Meteora DBC: dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN
- Meteora DAMM v2: cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG
If a configured address does not match a verified official value, STOCKTRESS fails closed rather than transacting.