Adapter model
The market engine does not know what a launchpad is. It consumes normalized asset facts from adapters, so covering a new venue means writing an adapter, not touching the market core. Adding a chain is a deployment: deploy the settlement contracts, add a registry entry, point the indexer at it, and review the adapters for that chain.
A launchpad integration has two surfaces, and neither is allowed to bypass eligibility or settlement.
Discovery adapter
Maps a launchpad’s contracts or API into normalized assets. It provides:
- a stable launchpad identifier;
- chain and canonical asset address, or mint;
- symbol, name and image;
- launch mechanism (bonding curve, instant, auction), stage, and progress;
- the graduation venue once a token leaves the curve, with its factory identity, so settlement can decide whether it can replay that venue’s trades;
- source timestamps and explicit missing-data states;
- a conservative request rate and cache TTL.
The adapters running in production, and the questions each supports, are on Launchpads and chains.
Injection adapter
Locates token cards and detail views on the host page, places a compact control, and anchors the market panel without breaking the site. It must handle client-side navigation, virtualised lists, delayed layout, card reuse during scrolling, resize and mutation, host dialogs and stacking contexts, pointer-event isolation so a Pools control does not trigger the host card, and cleanup when an anchor leaves the document.
Shared anchoring and lifecycle code solves generic drift. Site-specific selectors and placement policies stay in the adapter, because host DOM contracts differ and change.
Security boundary
Host content is untrusted. DOM text is parsed and validated as data. A host page cannot choose market rules, settlement sources, account permissions or transaction calldata. The extension injects nothing into the page’s JavaScript environment and exposes no wallet provider to it.
What an adapter cannot do
- Open a market. Markets open only on a user’s first entry carrying planner-signed terms.
- Choose a question. The engine chooses from token state and settleable evidence.
- Change limits, fees or deadlines.
- Report a result. Only the resolver set does that.
Requirements for calling an integration supported are in Integration requirements.