Terminals and indexers
Candle welcomes integration by trading terminals, wallets, aggregators, bots, and market-data providers, including Axiom, GMGN, and Fomo.family.
Supporting Uniswap or Meteora alone does not provide complete Candle support. Before graduation, Candle tokens trade on Candle bonding curves; after graduation, execution moves to the venue selected by the launch.
Required capabilities
Section titled “Required capabilities”A complete integration should support:
- Canonical market discovery.
- Current lifecycle detection.
- Exact pre-graduation buy and sell quotes.
- Native and ERC-20 quote assets.
- Graduation-crossing caps and refunds.
- Solana Meteora discovery after migration.
- Hood v3 pool and v4 PoolKey discovery after migration.
- Recovery as a claim flow rather than a trade.
- Event and custom-error decoding.
Canonical Hood discovery
Section titled “Canonical Hood discovery”Start from CandleCurveRegistry. A curve created by the canonical factory is registered atomically with its token, quote token, migrator, fee recipient, implementation version, and configuration hash. The factory’s CurveCreated event supplies the creator and DEX version in the same transaction.
Do not treat an arbitrary contract implementing the Candle getters as canonical. Do not trust an API row when it conflicts with the on-chain registry.
For a candidate Hood address:
- Curve: require
CandleCurveRegistry.isRegistered(address) == true, then readgetRecord(address). - Launched token: call
curveForBaseToken(token)and require a nonzero curve whose active record names the same token. - New-market discovery: index
CurveRegisteredlogs emitted by the canonical registry. Join the factory’sCurveCreatedlog from the same transaction when creator, DEX-version, and configuration-hash fields are needed. - Migrated market: require the registered curve’s lifecycle and migration events to confirm migration. Pool existence alone is insufficient.
See Hood market integration for the exact addresses, validation sequence, and contract-role rules.
Canonical Solana discovery
Section titled “Canonical Solana discovery”Current Solana launch transactions include Candle’s attribution address as a required read-only signer and invoke the canonical Candle bonding-curve program’s initialize_pool instruction. This applies to Open and Exclusive launches across the supported quote assets.
Use the signer for fast discovery, then confirm the program and instruction before attributing the mint to Candle. To backfill history or reconcile an index, enumerate the program’s Pool accounts directly rather than replaying transactions.
The program publishes its Anchor IDL on chain, so Program.fetchIdl returns a working client with no vendored interface file and program.account.pool.all() returns every curve. See Solana market identification for that path, and for the discriminators and byte-level layout a non-Anchor client needs instead.
Identification summary
Section titled “Identification summary”| Candidate | Canonical confirmation |
|---|---|
| Solana launch or mint | Candle attribution signer plus a Candle-program initialize_pool instruction, matched on its discriminator |
| Solana pre-graduation pool | Account owned by the canonical Candle program, carrying the Pool discriminator, and tied to the decoded base and quote mints |
| Hood curve | Active record in the canonical CandleCurveRegistry |
| Hood launched token | Nonzero curveForBaseToken(token) mapping to an active record for that token |
| Hood v3/v4 market | Registered curve plus confirmed migrated lifecycle and canonical migrator event |
Lifecycle routing
Section titled “Lifecycle routing”| Lifecycle | Execution venue |
|---|---|
| Trading | Candle curve |
| Graduated | No trading; wait for migration or recovery |
| Migrated v3 | Uniswap v3 |
| Migrated v4 | Uniswap v4 |
| Recovery | Candle recovery claim |
Acceptance matrix
Section titled “Acceptance matrix”Before claiming Candle support, test:
- Open native-quote curve buy and sell.
- Open ERC-20-quote approve, buy, and sell.
- Exclusive NFT-gated rejection and success.
- A graduation-crossing buy with a partial refund.
- Graduated-state buy and sell rejection.
- Migrated v3 buy and sell.
- Migrated v4 buy and sell using the complete PoolKey.
- Recovery eligibility and claim.
- Slippage, wrong quote mode, lifecycle, and approval failures.
Fixtures
Section titled “Fixtures”The Candle monorepo maintains generated Hood terminal fixtures under:
packages/gated-launch-evm/fixtures/hood-terminal-fixtures.jsonFixtures contain exact integer outputs, calldata, lifecycle capabilities, and pool derivation examples. Verify the fixture schema version and deployment-status metadata before consuming them. Deployed addresses must come from the current deployment reference.
Axiom, GMGN, and Fomo.family
Section titled “Axiom, GMGN, and Fomo.family”There is currently one common Candle integration contract rather than terminal-specific execution rules. Axiom, GMGN, Fomo.family, and other terminals should implement the same lifecycle and fixture matrix above.
Integration status and terminal-specific limitations should be published only after the terminal has completed the acceptance matrix. Contact Candle for a shared test-market set and production readiness review.