Docs·Addresses

Addresses

Addresses file — field reference

Every top-level key and every field of every entry in the addresses file, with its type and meaning.

Version
1.0
Updated
2026-08-29
Source
Public addresses generator

Top level#

/addresses/<chainId>.json — top-level keys
FieldTypeMeaning
schemastring"thehood.addresses/1". Pin against it; the version is bumped on any breaking shape change.
chainIdnumberThe chain this file describes. The one numeric field that is a JSON number.
chainNamestring | nullnull for a chain the generator has no metadata for, which is recorded in warnings[] rather than failing the build.
environmentstring | nullThe calibration profile the deployment was made under — production, staging, dev, or local.
testnetboolean | nullWhether the chain is a testnet.
nativeCurrency{ name, symbol, decimals }The chain’s own currency. Every wei figure is denominated in it.
explorer{ name, url } | nullThe block explorer every explorerUrl in the file is built against.
rpcstring[]Public RPC endpoints for the chain, in preference order.
indexFromBlockdecimal stringThe floor below which nothing of this platform exists on the chain.
launchFactoryaddress | nullThe current factory. Every launch that exists was created by this address or by one in priorFactories[].
conventionsobjectThe encoding of amounts, block numbers, addresses and times, restated inside the file.
warningsstring[]What the generator could not resolve cleanly. Usually empty.

contracts[] and cloneTemplates[]#

contracts[] holds the singletons: one address each, on this chain, in this environment. cloneTemplates[] holds the families that have no fixed address, carrying the same fields minus the address and its block, plus deployedAtRuntime: true.

Fields on a contracts[] entry
FieldTypeMeaning
namestringThe Solidity contract name, which is also the name it is verified under on the explorer.
kindstringsingleton, or a clone family such as per-launch-clone.
sourcestringThe repository path of the Solidity file it was compiled from.
purposestring | nullWhat the contract is for, from its declared manifest.
abiPathstring | nullRoot-relative path to the ABI on this origin, e.g. /abis/LaunchFactory.json. null means the ABI is not served, which is also recorded as a warning.
addressaddressLowercase hex. Absent on a clone template.
recordstringThe deployment record file the address was read from, e.g. launchpad-4663.json.
recordFieldstringThe key within that record. Together with record it makes the address traceable to the deploy that wrote it.
deployRunBlockdecimal stringThe block the deploy run recorded. Safe as an indexing floor for that contract; see the caveat below.
deployRunAt{ unix, iso }When the deploy run happened. Unix seconds as a decimal string, ISO-8601 UTC.
explorerUrlstring | nullThe explorer’s address page. null where the chain has no known explorer.

treasuries[] and externalContracts[]#

Fields on a treasuries[] or externalContracts[] entry
FieldTypeMeaning
fieldstringThe deployment-record key, e.g. treasury, marketingTreasury, ethUsdFeed.
labelstringA human name — “Protocol treasury”, “Chainlink ETH/USD”.
notestringWhat it is for, and any constraint the deploy enforces on it.
addressaddressLowercase hex.
recordstringWhich deployment record it was read from.
explorerUrlstring | nullThe explorer’s address page.

Only destinations appear in treasuries[] — places value comes to rest. A keeper key is readable on chain from the contract that holds it and is not published here. externalContracts[] is the inverse: addresses this platform reads but did not deploy, published because a USD-denominated figure cannot be reproduced without naming the same price feed, and a pool cannot be found without the PoolManager it was opened on.

thdBuckets[]#

Fields on a thdBuckets[] entry
FieldTypeMeaning
bucketstringThe bucket key — traders, creators, kolsReferrers, liquidity, lpProviders, spoils, bdMarketing, ecosystemGrants, insuranceBackstop, team, settlers.
addressaddressThe destination contract holding that bucket’s share.
shareBpsnumber | nullThe bucket’s share of the total supply, in basis points. Immutable on the emission contract with no setter.
contractKindIsOneOfstring[]The destination type is chosen per bucket at deploy time and the record does not say which, so the file publishes the candidate set rather than a guess. Read the contract to settle it.

A shareBps read on chain that disagrees with the file means the file describes a different deployment, not drift — the eleven shares are immutable and have no setter. See THD and the fee meter.

priorFactories[], notDeployed[], deploymentRecords[]#

The three history arrays
ArrayFieldsMeaning
priorFactories[]address, sources[], deployRunBlock | null, explorerUrlA superseded factory. sources[] names which of the three inputs knew about it; deployRunBlock is null for a factory known only to the built-in list.
notDeployed[]name, reason, record | nullA contract the platform has, absent from this chain, with the reason in plain words — no record for the environment, a record predating the contract, a field explicitly recording a zero address, or a contract whose source exists and which no deploy script has ever written a record for. record is null for that last one, because there is no record to name.
deploymentRecords[]record, deployRunBlock, deployRunAt, calibrationThe deploy runs behind this file. More than one, because the launchpad and the prediction markets deploy separately.

A worked example#

{
  "name": "CreatorRegistry",
  "kind": "singleton",
  "source": "contracts/src/predict/CreatorRegistry.sol",
  "purpose": "The on-chain record of what each creator on The Hood has launched, and the tier ladder built on top of it.",
  "abiPath": "/abis/CreatorRegistry.json",
  "address": "0x…",
  "record": "predict-4663.json",
  "recordField": "creatorRegistry",
  "deployRunBlock": "44157074",
  "deployRunAt": { "unix": "1787503430", "iso": "2026-08-23T16:43:50.000Z" },
  "explorerUrl": "…/address/0x…"
}

The address is elided here on purpose: this page is a schema, and an address copied into documentation is a mirror that will one day disagree with the deployment it claims to describe. Read every address from the file.