Download the public pack catalog
Pack ABI catalog
Download the machine-readable index of publicly listed packs, their contract addresses, and the exact ABI files for each contract role.
/market, including Classic packs surfaced there. It does not publish hidden, NSFW, unlisted or retired zero-pack deployment families. This is an onchain-interface reference, not a reintroduction of retired HTTP APIs or creator workflows.
The index and its ABI downloads are public static files: no API-KEY is required. Website and backend discovery or indexed API requests still require a registered key; see authentication.
Read the index
Each
abi URL points to https://vibechain.com/abis/vibemarket/<sha256>.json. The response is a plain JSON ABI array, not an object containing an abi property. Verify the SHA-256 digest of the downloaded file bytes against the catalog before using a cached or downloaded interface.
Identical ABI arrays are consolidated into one content-addressed file. Similar function names do not make two interfaces interchangeable: tuple layouts, argument types, return values, events and custom errors can differ. Distinct interfaces remain separate files.
Resolve a pack before using its ABI
- Fetch the index and select the exact pack slug. Keep its chain, runtime and drop identities together; do not select by display name or ticker.
- Resolve the current pack URL and runtime using runtime discovery, or the website’s pack catalog/page for imported Base packs. For an existing pack, use its resolved graph, not the runtime marked as the destination for new launches.
- Compare the chain and exact contract addresses from that graph with the selected catalog entry. A numeric drop ID alone is not a deployment identity. If any identity differs, refresh discovery and the index, then stop rather than guessing.
- Download the ABI for the required contract role, validate its digest, and use it only with that role’s matching address and chain. Cache immutable ABI files by their content-addressed URL, not by pack name.
- Before a wallet transaction, re-check live contract conditions, user-selected limits and wallet consent. An ABI file, indexed quote or catalog entry does not authorize or execute a transaction.
parentFactory, parentAuthority and parentToken bindings when present. Never substitute a child factory for the original token’s factory, even when both packs share one token or ABI file.
For imported Base packs, runtimeId is classic-base; the cards, token and factory roles identify the actual original drop, token and factory. The Base catalog’s namespace address is not a transaction destination. Its dropId is a decimal-encoded drop address, not a numeric factory drop ID or an NFT token ID. Resolve the pack through the website’s pack catalog/page: the Robinhood slug resolver is not the Base resolver. A version label alone is not enough to select the historical implementation.
Keep raw blockchain amounts and identifiers exact with BigInt or an exact-decimal library. Verify the selected RPC chain before a read, and do not treat an ABI’s function name as proof that the current contract supports the same behavior or economic model as another deployment.