Skip documentation navigation

Direct Ethereum Custom Hooks

Prepare your token and hook through the canonical Ethereum CustomGraph route. Its verified launch stamp supplies the indexing identity.

Files

Give your builder the Ethereum indexing bundle and complete launch reference. The bundle contains the exact ABI, Solidity interfaces, an incomplete request template, the deployment snapshot and read-only verifiers.

Read the current Ethereum stamp manifest before preparing a launch. Match its chain, Router, Graph Factory, runtime hashes, ABI hash and finality policy. The bundled snapshot is a reference.

Platform fee

The current Programmable platform fee for Ethereum Mainnet Custom Hook launches is 0.30% (30 bps) on each successful buy or sell through the launch's fee-bearing pool. Project fees and LP fees are separate. A 1 ETH trade at this rate allocates 0.003 ETH to Programmable.

Use integer arithmetic: the rate is 3,000 / 1,000,000. Disclose the hook's fee basis, asset, accounting mode, recipient, rounding, accrual and claim path. The launch stamp establishes origin; it does not prove fee enforcement or payment. Earlier contracts and exact versioned API profiles retain their recorded rates.

Launch inputs

Prepare the complete CustomGraphRouteV1, StampRequestV1 and LaunchPermitV1 tuples from the supplied interfaces. Use chain ID 1 and CustomGraph kind 1.

  • The graph binds deployment targets, initialization calldata, predicted outputs, topology, namespace, nonce and total value.
  • The stamp binds the launch ID, token, hook, PoolKey and every graph component to their exact post-initialization runtime hashes.
  • The permit binds the Router, creator wallet, route payload hash, result hash, stamp hash, nonce, validity window and transaction value.

Use the pinned ABI and hash helpers for encoding. Predict the CREATE2 addresses and verify the initialized runtimes in a fork simulation. The complete reference specifies component ordering, scopes, units and limits.

Authorization

Obtain Programmable authority authorization for the exact permit digest. The creator wallet's signature alone does not supply this authorization. Fork-simulate the fully authorized Router transaction before execution.

A token deployed independently cannot receive this launch stamp afterward. The token and hook must be outputs of the authorized canonical Router route. Your hook's economic rules can be independent of the Custom Launch API profiles.

Indexing

Preserve the chain, Router, launch ID, token, hook, creator, PoolId, stamp hash, component proofs, transaction hash and event coordinates. Verify the Router events and getters at the same finalized canonical block using the supplied verifier.

Programmable's Ethereum Custom source scans this Router independently of API submissions. Explore includes valid finalized stamps. Missing market data or an unsupported trading adapter does not remove a verified launch.

External terminals need their own integration with this stamp contract. They control their ingestion and timing. The stamp does not guarantee that a third-party service has completed indexing.

Token metadata

Expose standard name() and symbol() getters. For the image, description and links, expose metadata() returning (string description, string website, string image, bytes extraData), or tokenURI() returning inline data:application/json. The website reads these values at a finalized block and caches the display for one minute. During a provider interruption, recent values remain visible for up to five minutes. Updated display values do not change the original launch stamp.

Inline JSON accepts description, image, website or external_url,x or twitter, and telegram, discord, github and gitbook. Use public HTTPS URLs. JSON can be literal UTF-8, percent-encoded or base64-encoded. The website does not fetch external tokenURI documents. Unsupported or invalid metadata does not remove the coin from Explore.