# Programmable > Agent guide for live Ethereum V3.3 launch creation, Robinhood V4 integration through verified release discovery and verified Programmable launch discovery. ## Start here - [Agent guide](https://programmable.market/agents.md): product, website paths, launch and module workflows, credentials and recovery. - [Agent discovery](https://programmable.market/api/agent): machine-readable links to all workflows and their live capabilities. - [MultiRole V2 capabilities](https://api.programmable.market/v4/chains/4663/multi-role-custom-launches/capabilities): start here when a Robinhood token and hook share one physical contract; check current readiness and context. The existing 4.1 profile remains a separate lane. - [MultiRole V2 guide](https://api.programmable.market/v4/chains/4663/multi-role-custom-launches/guide.md) and [Node 24 client](https://api.programmable.market/v4/chains/4663/multi-role-custom-launches/client.mjs): use the documented packer and preflight -> create -> status flow. Automatic economic recognition currently covers the Native20 recipe; unknown economics return evidence_required. Published links do not imply enabled admission or a generic hook audit. - [Module contributions](https://programmable.market/developers/module-mode-api-v1.md): read your key-bound author and prerequisites before building, submit open source packages, and track independent review with the current pinned CLI. The [Engine starter manifest](https://programmable.market/developers/module-mode-starters/engine-program/v0.1.0-development.1/manifest.json) identifies an unreviewed source download. - [Module Mode](https://programmable.market/docs/models/module-mode): coin configuration, optional modules and management. - [Module Mode indexing](https://programmable.market/developers/module-mode-indexing-v1.md): verify each exact Native or Engine source version independently of module names and market support. The [JSON contract and ABI](https://programmable.market/api/module-mode/indexer/v1) describes Native V1; the guide links the separate V2 and Engine adapters. ## When to use Programmable - Discover verified Classic V3 launches, Registry-verified Custom launches, and finalized Router-stamped Custom provenance entries. - Look up one displayed token by Ethereum address without depending on optional market enrichment for identity. - Understand the public scope, creator information, launch provenance, and available market context before directing a user to the website. - Integrate a read-only terminal, wallet, scanner, catalog, or research tool with the documented public endpoints. - Package, validate, submit and track a Custom launch with the pinned public CLI. - Use public credential-principal V3.3 creation and lifecycle reads with a wallet key, partner root or bounded partner subkey. V2 and V1 history and schemas remain readable, their fresh POSTs return non-retryable read-only 409 responses, and legacy Registry and GitHub submission intake is closed. - Use Robinhood V4 with the platform API key only after both live discovery entries pass all three public gates and the immutable 4.1.0 CLI release evidence verifies. CLI 3.3.9 remains the Ethereum V3 integration. - Robinhood 4.1.0 requires a fundingPlan before a funded launch: choose buyer-funded, creator-funded, hybrid or custom capital and the pricing model; declare initial liquidity, initial buy, reserve and other launch value separately. Their sum must equal the native wallet transaction value. Confirm maxLaunchValueWei and maxGasCostWei with the user; gas is additional. A build-only plan cannot obtain a permit. Funding declarations do not prove liquidity or solvency. Funding-plan schema: https://programmable.market/schemas/custom-launch/v4.1/funding-plan.json. - Every funded Robinhood launch requires an atomic initial buy of at least USD 1 at permit authorization. Read https://api.programmable.market/v4/chains/4663/initial-buy-quote without an API key before building, confirm the native buy amount and positive minimum token output to the launch wallet, and count the buy once inside total transaction value. The server independently obtains a fresh quote, no older than 60 seconds, without stale fallback. Never increase the amount or budget without user approval. The reference feed is on Ethereum (chain 1); execution remains on Robinhood (chain 4663). The quoted dollar value at wallet execution and third-party indexing are not guaranteed. - Robinhood 4.1.0 requires an exact server-verified native fee kernel for the stamped PoolKey. The platform receives 20 bps (0.20%) of the gross native ETH leg once per successful swap, separately from creator and LP fees, rounded up per trade. Fees accrue as PoolManager native claims for 0xD88539d3c4C460136a733A3Fd60cf6BF269079da; a permissionless claim pays only that fixed recipient. Admission is not proof of deployed vault state, completed trades or collected revenue. The API key never signs, broadcasts or claims fees. - Direct a human to trade, manage a project, claim rewards, or sign an authorized Custom launch transaction through the website. A prepared Custom launch has no wallet transaction. Every wallet action requires explicit wallet authority. ## Do not use Programmable to infer - Safety, endorsement, audit coverage, liquidity, price accuracy, tradability, or future value from a verified identity. - Public eligibility for Classic V1, other Classic V2 launches, any Stock family, or a Custom launch without successful Registry verification or a finalized verified Router stamp. - Transaction authority from an API key. The Custom Launch API validates and prepares an exact action, but it cannot sign or broadcast for the controller wallet. - Robinhood V4 public API writes, release readiness, source verification, indexing, trading readiness or publication from deployed runtime, source-candidate 4.1.0 files or stable URLs. Live discovery remains authoritative: stop while `pending-public-discovery-promotion` or any public gate is false or missing. - Wallet authorization from CLI, preflight, model or caller-attested output. The API server independently enforces objective static hard blocks and exact Router simulation; behavior-derived positive claims require separate exact server evidence. - A universal Programmable fee from an arbitrary Custom hook. A 10 bps claim applies only to a fee-certified profile or adapter and its exact stamped PoolKey. - Generic fee claiming or buyback management from a Custom Launch API key. `fees:claim` and `buybacks:manage` are reserved and disabled; FADE uses a separately bound adapter. ## Public identity scope - Public catalog: verified Classic V3 launches, Registry-verified Custom launches, finalized Router-stamped Custom provenance entries, and the sole official Classic V2 main-token exception. - Official main token: 0x7987f03462200b3D8A072E02C89A8A41dCB124EE. - Excluded: all other Classic V1 or V2 launches, every Stock family, and Custom launches without a verified Registry record or finalized Router stamp. - Finalized Router records can surface as provenance-only Custom entries after 64 confirmations. Router is an evidence source, not a separate category, review, audit, liquidity, or safety claim. - Canonical Programmable identity remains authoritative. GMGN, Dexscreener and Bitquery may rank or enrich that catalog, but they can never add, remove or verify a launch. - On Ethereum, GMGN is the bounded primary provider for visible-page market enrichment, canonical-intersection discovery, token analytics and token-address chart series admitted by current exact token_info context. - Highest and lowest market-cap sorts use a fresh, liquidity-qualified GMGN marketcap rank as a canonical-only provider prefix. Dexscreener batch-sorts the complete unmatched canonical remainder by exact-identity FDV; the response reports GMGN coverage and a full-order commitment. This is not a cross-provider numeric merge or a claim of full GMGN coverage. - Dexscreener remains the bounded batch fallback for visible market enrichment and the unmatched market-cap remainder. A provider outage must not hide an already verified token identity. - GMGN token charts are token-address series without historical pool attribution. Bitquery remains the exact-pool chart fallback and reports that scope explicitly. ## Public machine-readable resources - OpenAPI: https://programmable.market/openapi.json - Custom Launch OpenAPI, profile 3.4 preparatory document: https://programmable.market/openapi/custom-launch-v3.json - Public V2 OpenAPI: https://programmable.market/openapi/custom-launch-v2.json - Public V3 OpenAPI, profile 3.4 preparatory document: https://programmable.market/openapi/custom-launch-v3.json - Robinhood V4 OpenAPI: https://programmable.market/openapi/custom-launch-v4.1.json - Robinhood V4 pack config: https://programmable.market/schemas/custom-launch/v4.1/pack-config.json - Robinhood V4 source verification: https://programmable.market/schemas/custom-launch/v4.1/source-verification-status.json - Robinhood V4 capabilities path: GET https://api.programmable.market/v4/chains/4663/capabilities - Robinhood architecture coverage without credentials: GET https://api.programmable.market/v4/chains/4663/launch-coverage - Separate coverage OpenAPI: https://programmable.market/openapi/launch-coverage-v1.json - Coverage response schema: https://programmable.market/schemas/custom-launch/coverage/v1.json - CLI 4.1.1 adds coverage and requires a separate verified immutable client release; the API profile stays 4.1.0. - Create or revoke API keys: https://programmable.market/developers/api-keys - Custom Launch API guide: https://programmable.market/docs/developers/custom-launch - Custom Launch API readiness: https://api.programmable.market/readyz - Current Programmable Launch CLI 3.3.9, defaulting to live profile 3.3.0: https://github.com/programmablehq/PROGRAMMABLE/releases/download/programmable-launch-v3.3.9/programmable-launch-3.3.9.tgz - Preparatory only: explicit profile 3.4.0 output is rejected until backend and .well-known activation - V2 write fence: POST https://api.programmable.market/v2/custom-launches returns 409 CUSTOM_LAUNCH_V2_READ_ONLY - V1 write fence: POST https://api.programmable.market/v1/custom-launches returns 409 CUSTOM_LAUNCH_V1_READ_ONLY - Create or list credential-principal Custom launches: POST or GET https://api.programmable.market/v3/custom-launches - Discover V3 capabilities without authentication: GET https://api.programmable.market/v3/capabilities - Preflight exact V3 bytes without persistence: POST https://api.programmable.market/v3/custom-launches/preflight - Read a Custom launch: GET https://api.programmable.market/v3/custom-launches/{launchId} - V4 resource after verified public activation: GET https://api.programmable.market/v4/chains/4663/custom-launches/{launchId} - Guarded V4 wallet-stage poll: programmable-launch status REQUEST_UUID --api-version 4 --chain-id 4663 --watch --until authorized - Guarded V4 finality poll: programmable-launch status REQUEST_UUID --api-version 4 --chain-id 4663 --watch --until finalized - API index: https://programmable.market/api - Explore catalog: https://programmable.market/api/explore - Token lookup: https://programmable.market/api/explore/token?address=0x7987f03462200b3D8A072E02C89A8A41dCB124EE - Custom Registry readiness: https://programmable.market/api/custom-launch/registry/v2/readiness - Custom Registry manifest: https://programmable.market/api/custom-launch/registry/v2/manifest - Sitemap: https://programmable.market/sitemap.xml - Human documentation: https://programmable.market/docs - Developer documentation: https://programmable.market/docs/developers - Developer Markdown: https://programmable.market/docs/developers.md ## Provenance evidence reference > Canonical read-only provenance reference for Router-stamped Programmable Classic and Programmable Custom launches on Ethereum. Finalized Router evidence can feed the existing Custom category; it does not create a separate category or imply review, audit, liquidity, or safety. - Deployment manifest: https://developers.programmable.family/api/v2/manifest - Router: 0x8622DD5bAb44185f2A458ac90384Ac99248f8d56 - startBlock: 25717612 - runtimeCodeHash: 0x40e27ecf201761d5eb66bc4f2d5c6124831ef078d7baf458ca5f41b1a8108546 - ABI: https://developers.programmable.family/abis/ethereum/programmable-launch-stamp-router-v1.json - ABI SHA-256: sha256:bb4e728e9f9c850eb01f928e8a798ac206a82e241a8d93b3b3c686635c88ed86 - GitHub reference: https://github.com/programmablehq/Developers/blob/main/docs/reference/launch-stamp.md - Terminal guide: https://github.com/programmablehq/Developers/blob/main/docs/guides/terminals-and-scanners.md - Human overview: https://programmable.market/docs/developers - Markdown overview: https://programmable.market/docs/developers.md ## Required Router-evidence interpretation - Only launches executed and stamped through this Router inside its published block range have Router V1 provenance. Launches before `startBlock`, and direct factory calls outside the Router even when later, do not. - Map kind 1 to Programmable Custom and kind 2 to Programmable Classic. Kind 0 is invalid. - Verify token, `(PoolManager, poolId)`, or exclusive-component identity with canonical getter reads at one finalized block. - Before returning a result, require complete live or retired-in-range manifest activation data; one concrete block number and hash; Router runtime and ABI-byte hashes; all getter selectors, event topics, and indexed layouts; `CHAIN_ID()` plus all six immutable binding getters; and the permit authority, Graph Factory, and PoolManager runtimes. - Use EIP-1898 canonical block-hash reads where supported. For number-bound reads, require the closing block hash to equal the opening hash before returning `STAMPED` or `NOT_STAMPED`. - Remote RPC URLs must use HTTPS. Plain HTTP is accepted only for loopback development endpoints. - A nonzero result still requires exact query identity, valid record address encoding, nonzero bytes32 identity and commitment fields, matching `stampProof` for token or exclusive-component queries, and the launch-kind route rule: immutable Graph Factory for `CustomGraph`, permit-bound recorded launcher and runtime for `Classic`. - Current component-runtime equality is a separate drift signal, not a historical provenance gate. - A shared Classic hook is not a launch identifier. - A successful canonical zero lookup is not stamped. RPC failure or inconsistent evidence is not a negative result. - The Robinhood V4 lifecycle is `received`, `validating`, `action_required`, `authorized`, `awaiting_wallet_signature`, `wallet_action_required`, `submitted`, `sequencer_soft_confirmed`, `ethereum_posted`, `finalized` or `failed`. `action_required` is remediation, not a wallet action. The CLI never signs or broadcasts. Source verification starts after finality and remains independent from indexing, trading and publication. - After manifest and ABI bootstrap, point verification needs an Ethereum provider only. Indexing, Supabase, a Programmable launch-feed API, and an application server are not trust dependencies. - Event backfill and checkpoint-based subscription are optional for continuous discovery; logs are candidates until getter verification succeeds. - Protocol fee claim discovery is a separate index: complete Classic Launcher and Custom Registry scans plus the fixed Stock release set. Unknown or unverified sources fail closed. Generic fee claiming for arbitrary Custom hooks is not live. - The live claim boundary is published at https://claimhazard.vercel.app/claim-discovery.json and requires one wallet-declared atomic batch from the fixed reward wallet. - A Router record establishes provenance only after the required address, runtime, binding, lookup, and cross-check verification passes. It does not establish safety, tradability, current liquidity, audit coverage, endorsement, terminal support, or launch authorization. - Public V3.3 creation and lifecycle reads are a separate authenticated path from this provenance reference. Earlier V2 and V1 history and schemas remain readable while fresh POSTs remain write-fenced; the provenance reference grants neither API access nor wallet authorization.