For the complete documentation index, see llms.txt. This page is also available as Markdown.

API reference

Module interfaces, launch API contracts and release discovery

Module Mode

Read agent discovery for the current contribution workflow and CLI manifest. The module API guide defines submission and review. The indexer JSON contract publishes the native source ABI and identity rules; the indexing guide explains the verification procedure. Read the current release from Module Mode availability.

Custom Launch APIs

Start with the API quickstart. Use live discovery to select a chain, profile and client release.

Integration
Contract

Robinhood, separate token and hook

V4 OpenAPI and pack configuration selected by discovery

Robinhood, shared token and hook

MultiRole V2 capabilities

Ethereum

V3 OpenAPI and pack configuration

Detailed request and compatibility reference

Custom Launch API and raw agent guide

Read customLaunchApi.partnerCredentials and customLaunchApi.agentIntegration in discovery. A partner root aggregates all partner-attributed launches; each subkey sees its stable lineage, and rotation preserves that history. Use custom-launch:create for preflight and creation and custom-launch:read for status. No API key can sign or broadcast a wallet transaction.

The agent remediation catalog explains structured errors and next steps. Preserve the exact request bytes and idempotency key when retrying. Include the returned request ID in support messages; never include the API key.

Robinhood V4

Robinhood Chain Mainnet uses V4 at eip155:4663. CLI 3.3.9 remains the live Ethereum V3 integration. Read the V4 and chain 4663 entries in live discovery; require all three public gates and verify the advertised immutable CLI release, source commit, manifest and checksum. Stop while pending-public-discovery-promotion, publicWrites: false, publicAuthorization: false or releaseReady: false is reported. A deployed runtime or source candidate is not activation evidence.

The 4.0 OpenAPI, pack config and source verification preserve historical 4.0.0. When discovery selects 4.1.0, use its OpenAPI, pack config and source verification.

Selected 4.1 requires a request-bound funding plan, exact launch and gas budgets, an atomic initial buy of at least USD 1 at permit authorization, positive minimum token output and a fresh server quote. Gas is additional; count the buy once. Its exact fee kernel accrues 20 bps of the gross native ETH leg once per successful swap, separately from creator and LP fees, as fixed-recipient PoolManager native claims; admission is not collected-revenue proof. Read the current generated agent guide for the exact funding, quote and fee boundary.

Use the returned resource.launchId as LAUNCH_ID, not the HTTP support request ID. A V4 client must poll with programmable-launch status LAUNCH_ID --api-version 4 --chain-id 4663 --watch --until authorized, stop for separate wallet review, signature and broadcast, then poll the same command with --until finalized. The CLI never signs or broadcasts. The V4 states are received, validating, action_required, authorized, awaiting_wallet_signature, wallet_action_required, submitted, sequencer_soft_confirmed, ethereum_posted, finalized and failed. action_required is remediation, not a wallet action. Source verification starts after finality and stays independent from indexing, trading and publication.

Shared token and hook on Robinhood

Use the separate MultiRole V2 capabilities, guide and client for one contract that implements both token and hook. Its request, funding and lifecycle contract is separate from V4 4.1. The automatic economic verifier accepts the exact Native20 recipe and supported constructor configuration; different source code or economic mechanisms return evidence_required. Preflight/create uses custom-launch:create; status/list uses custom-launch:read, bound to chain 4663 and the controller.

Native20 charges 20 bps (0.20%) of gross native ETH per successful buy or sell for Programmable, rounded up per trade. Creator and pool fees are additional. The fees guide defines accruals, claims and the Dune dashboard metrics. Track the MultiRole finalized feed separately from the existing V4 feed.

Ethereum V3 and public reads

On Ethereum Mainnet, GET /v3/capabilities describes the accepted profile and structural limits. Authenticated POST /v3/custom-launches/preflight evaluates the exact create bytes without consuming launch-creation quota, allocating a nonce or persisting a launch. It still consumes the ordinary route rate budget, including a partner credential's prepareRequestsPerHour budget. The Router V1 permit-reissue disposition route is wallet-key-only.

The server verifies required behavior, fee and liquidity evidence before wallet handoff. A 10 bps platform fee claim applies only to an Ethereum fee-certified profile or adapter and its exact stamped PoolKey. This historical policy is separate from Robinhood Native20.

Ethereum V2 and V1 preserve history and schemas. New creation returns nonretryable 409 CUSTOM_LAUNCH_V2_READ_ONLY or 409 CUSTOM_LAUNCH_V1_READ_ONLY; use the advertised V3 profile for new Ethereum submissions.

The Developer API version 2 at https://developers.programmable.family is read only and requires no API key. The OpenAPI operations below describe that service, including discovery, deployment manifests and launch reads.

Service status

Read API and data-pipeline status

get

Reports service availability separately from Classic discovery, feed freshness, the Custom Launch API V1 compatibility state, the additive currentCustomLaunchCreate V3 write pointer, and the exact retained Fee-Enforced V2 historical profile, the retained gated Direct Native Hook Graph V1 preview, the retained historical V2 descriptor, and the active additive V3 general-lane descriptor for the public Custom Launch API V3 route. A successful HTTP response is not itself proof that indexed data is current, that a fee is enforced, that source is an exact match, or that a contract was audited.

Query parameters
chainIdinteger · min: 1Optional

Optional EIP-155 chain ID from supportedChainIds. Omit for the Ethereum compatibility lane.

Responses
200

Current service and feed status.

application/json
Responseany
get/api/v2/status
GET /api/v2/status HTTP/1.1
Host: developers.programmable.family
Accept: */*

No content

Deployment manifest

Resolve Ethereum current and historical deployments

get

Compatibility alias for /api/v2/manifests/1. New integrations should resolve the selected chain through the per-chain manifest route. Returns active, inactive historical and prelaunch chain/deployment profiles. Active Classic discovery uses only the enabled V3 and V4 entries. V1 and V2 remain inactive compatibility history and are not scanned; Stock is excluded. Generic manifest- and Router-first consumers discover V4 through a manifest refresh without a client code or address change. New EVM chains and Registry generations are added here so clients do not need a code change. A prelaunch Registry carries null address and start-block fields; clients must never replace those nulls with guessed values. launchStampRouter is the independent provenance-only trust root for Router-stamped Classic and Custom launches, not a public category. The frozen ABI, its hosted URL and published ABI-file hash, pinned source/extraction reference, events, indexed layouts, getter selectors, enum values and sole atomic selector are published. Its separate deploymentEvidence object publishes the finalized Ethereum deployment, runtime identities and observed immutable getters. Resolve every address, start block, runtime identity and finality requirement from the manifest. /launchStampRouter/canaryEvidence publishes the finalized CustomGraph vector, while /launchStampRouter/classicCanaryEvidence publishes separate exact finalized Classic V4 evidence. canaryEvidence.routeCoverage.classicOnchainCanary is true. Direct verification uses only the manifest-listed chain and Router through Ethereum JSON-RPC; historical launches are outside Router V1. Universal detection uses token or (PoolManager, PoolId) and then the record's LaunchKindV1 value. The shared Classic hook is not a launch identity and must not classify a Classic launch. Only a consistent record from the exact canonical Router qualifies through Router V1. customFeeEnforcedLaunchProfileV2 is a separate retained historical launch profile, not Custom Registry Generation 2 and not a third public category. Its exact revision and hash are authoritative. Publication does not imply named-terminal adoption. Launch submission is not part of this read-only API. Custom Launch API V1 POST is also read-only and returns nonretryable 409 CUSTOM_LAUNCH_V1_READ_ONLY; V2 authenticated POST is also read-only and returns nonretryable 409 CUSTOM_LAUNCH_V2_READ_ONLY. Only metadata-bound V3 profile 3.3.0 accepts fresh submissions. The gated Direct Native Hook Graph V1 preview remains available as optional directNativeHookGraphProfileV1 contract data for compatibility. The additive directNativeHookGraphProfileV2 descriptor is the retained historical Custom Launch API V3 contract for project-owned token and hook artifacts in exact 3–16-target graphs. It supports every valid Uniswap v4 permission mask and the none, exact wallet transaction value, and EIP-3009 funding modes. Each accepted launch still requires its own exact graph conformance receipt. The additive directNativeHookGraphProfileV3 descriptor publishes the active general lane. Its deterministic exact-source, compiler and graph baseline applies role-aware blocking rules; every unmatched finding remains a bound visible warning without a project exception. No blocking finding makes the exact request eligible for mandatory Router simulation; it does not authorize a launch. A blocking finding returns action_required. The API server, never a CLI, LLM, or client, decides authorization after the exact static admission baseline and pinned Router simulation. Not-configured or unavailable runtime behavior evidence leaves related claims unverified and does not itself block handoff. An authenticated executed negative returns BEHAVIOR_EVIDENCE_NOT_VERIFIED and blocks wallet handoff. A worker-private exact permit may exist only for pinned simulation. Public simulating and failed output keeps permit and wallet-transaction fields null. Its api.agentIntegration object links the canonical machine-readable remediation catalog and existing-project guide. Agents resolve returned finding codes there, repair and rebuild the exact project, then submit a new exact request; there is no project allowlist or legacy GitHub fallback. The linked pack-config schema defines programmable.eip3009-authorization-patch.v2 with static nonceArgumentPath, rArgumentPath, sArgumentPath, and vArgumentPath; v1 remains compatible for exact retries. New profile 3.3.0 requests require programmable.project-metadata.v1; the declaration hash is bound into the graph hash, prepared resource, launch ID, and wallet-reviewed Router transaction. programmable.project-token-metadata-binding.v1 records deterministic name and symbol extraction, but finalized token metadata still requires post-deployment readback. Descriptions, images, and links remain untrusted display data and never authorize execution. The canonical V3 resource always carries immutable launchProfileVersion; projectMetadata and projectMetadataHash are non-null for metadata-bound 3.2.0 and 3.3.0, and null for retained 2.0.0, 3.0.0, and 3.1.0 resources. Profile 3.2.0 retains its legacy nullable-image metadata contract; fresh 3.3.0 packs use the stricter complete policy. The canonical conditional schema remains in the linked Custom Launch V3 OpenAPI rather than being redefined here. Admission is not an audit or a safety, honeypot, liquidity, tradeability, or fee-behavior guarantee. Finalized consistent Router launches may enter the launch feed; token-list projection additionally requires a token identity. Neither descriptor is a third public category, and this Developer V2 OpenAPI remains read-only: it describes but does not expose the authenticated V3 write routes or executable wallet calldata.

Responses
200

Current deployment manifest.

application/json
Responseany
get/api/v2/manifest
GET /api/v2/manifest HTTP/1.1
Host: developers.programmable.family
Accept: */*

No content

Launches

List normalized Programmable launches

get

Returns Classic and Custom launches through one cursor-paginated envelope. Classic covers manifest-enabled V3 and V4 only. Its hosted baseline is the fully traversed paginated https://programmable.market/api/explore catalog, validated through schema, scope, evidence and identity commitments and currently reporting Envio deployment production-6157d22; the retired HTTP 410 legacy source is not queried. A launch can contain zero, one or several markets. The API never fabricates a pool for a token without one. Token amounts are raw decimal integer strings. Persist page.resumeCursor after processing a completed poll and pass it back as after. page.nextCursor is only for continuing the current page traversal. after and cursor must not be sent together. Coverage gaps do not hide recognized records: the response remains HTTP 200 with status: degraded or unavailable. Finalized canonical-Router Custom records are an independent provenance lane from the Custom Registry. Their token and pool identities remain present through a bounded source whose canonical commitment is recomputed before publication, plus a digest-pinned last-known-good fallback for source outages. Absent fee or supply evidence stays explicitly unavailable. The feed remains degraded and absence is not authoritative until Router coverage is current. A Router record's absent Registry fee policy is semantically valid only when its exact entry and source-boundary digests are members of the accepted source snapshot; source-shaped JSON alone is never sufficient. Finalized Router identities are joined to the Custom Launch API finalized metadata ledger only when launch ID, Router, token, hook, PoolManager, pool ID, transaction, block and log index all match and the declared metadata hash recomputes exactly. The resulting token.metadata stays creator-declared; its immutable source binding is retained in extensions["programmable/finalized-project-metadata-v1"]. A metadata source outage or mismatch leaves those display fields unavailable and never removes the recognized Router identity. Finalized partner-launched Custom records may add launchedVia, an exact read-only projection of the Custom Launch API's server-owned partnerAttribution snapshot. It never changes category, economic fee policy, provider evidence, review, safety, or index status. Promoted Robinhood V4 records also retain the backend's complete source-verification status in extensions["programmable/backend-finalized-v4"].sourceVerification. This status is independent from Router provenance and launch finality. Only a durable Sourcify V2 exact result may name sourcify-v2 and carry an evidence digest; Blockscout observations alone never establish an exact match. Aggregate precedence is needs_attention, then retrying, then queued, unless every component is exact_match.

Query parameters
chainIdinteger · min: 1Optional

Optional EIP-155 chain ID from supportedChainIds. Omit for the Ethereum compatibility lane.

categorystring · enumOptional

Stable public launch category.

Possible values:
afterstring · min: 1 · max: 1024Optional

Opaque durable polling checkpoint from page.resumeCursor. Repeat the same chainId and category query scope that created it. Returns records observed after that checkpoint. Do not construct or parse it; do not combine it with cursor.

Pattern: ^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$
cursorstring · min: 1 · max: 1024Optional

Opaque page-continuation cursor from page.nextCursor. Repeat the same chainId and category query scope that created it. Do not construct or parse it; do not combine it with after.

Pattern: ^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$
limitinteger · min: 1 · max: 100Optional

Maximum records returned on one page.

Default: 100
Responses
200

Cursor-paginated launch feed, including bounded recognized records when quality is degraded or unavailable.

application/json
Responseany
get/api/v2/launches
GET /api/v2/launches HTTP/1.1
Host: developers.programmable.family
Accept: */*

No content

Token list

Read the token-list compatibility projection

get

Returns a token-list-compatible projection for integrations that need token identity and metadata. The top-level status reports projection quality, and recognized complete token identities remain present when unrelated coverage or market enrichment is incomplete. This includes finalized canonical-Router Custom tokens with complete token identity. Use the launch feed for markets, capabilities, provenance, finality and complete fee disclosure; the compatibility projection does not infer a fee from category or Router provenance.

Query parameters
chainIdinteger · min: 1Optional

Optional EIP-155 chain ID from supportedChainIds. Omit for the Ethereum compatibility lane.

categorystring · enumOptional

Stable public launch category.

Possible values:
Responses
200

Token-list compatibility document with explicit ready, degraded or unavailable quality.

application/json
Responseany
get/api/v2/token-list
GET /api/v2/token-list HTTP/1.1
Host: developers.programmable.family
Accept: */*

No content

The canonical OpenAPI source is maintained in the Developers repository. This copy is included so GitBook can render the interactive reference together with the official product documentation.

Last updated

Was this helpful?