DEVELOPER DOCUMENTATION
Build on FKHood.
FKHood is an EVM-compatible network designed for familiar tooling, account-first experiences, and a direct path into the ForkHood ecosystem.
FKHood Mainnet is not live yet. Network identifiers and planned forkhood.xyz endpoints are listed below; protocol contract addresses and service activation remain TBD. Do not enable production writes before an activation notice and a successful chain ID check.
Network configuration
Keep every network value in environment variables. Do not ship deployer credentials, and do not enable production writes before Mainnet activation.
| Parameter | Mainnet | Testnet |
|---|---|---|
| Network name | FKHood Mainnet | Forkhood Chain Testnet |
| Chain ID | 643712891 | 46630 |
| Native currency | FKHOOD | FKHOOD |
| RPC URL | https://rpc.forkhood.xyz | https://www.forkhood.xyz/forkhood-rpc |
| Block explorer | https://scan.forkhood.xyz | TBD |
| WebSocket RPC | wss://rpc.forkhood.xyz/ws | TBD |
# .env.local
FKHOOD_CHAIN_ID=643712891
FKHOOD_RPC_URL=https://rpc.forkhood.xyz
FKHOOD_EXPLORER_URL=https://scan.forkhood.xyz
FKHOOD_CONFIRMATIONS=1
FKHOOD_NETWORK_ACTIVE=falseAdd FKHood to a wallet
Use EIP-1193 compatible wallet requests only after the Mainnet activation notice is published.
const fkhoodChainId = 643712891;
const rpcUrl = process.env.FKHOOD_RPC_URL;
const explorerUrl = process.env.FKHOOD_EXPLORER_URL;
if (!rpcUrl || !explorerUrl) throw new Error('Missing FKHood network configuration');
await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [{
chainId: `0x${fkhoodChainId.toString(16)}`,
chainName: 'FKHood Mainnet',
nativeCurrency: { name: 'FKHOOD', symbol: 'FKHOOD', decimals: 18 },
rpcUrls: [rpcUrl],
blockExplorerUrls: [explorerUrl],
}],
});Show the active network, make switching explicit, and keep the application usable when a wallet request is rejected.
Read and write transactions
Verify the activation flag and active chain before every critical action. A broadcast hash is pending, not successful.
if (process.env.FKHOOD_NETWORK_ACTIVE !== 'true') {
throw new Error('FKHood Mainnet is not active');
}
const network = await provider.getNetwork();
if (network.chainId !== BigInt(643712891)) {
throw new Error('Connected RPC is not FKHood');
}
const hash = await walletClient.writeContract(request);
const confirmations = Number(process.env.FKHOOD_CONFIRMATIONS ?? 1);
const receipt = await publicClient.waitForTransactionReceipt({ hash, confirmations });
if (receipt.status !== 'success') throw new Error(`Transaction reverted: ${hash}`);- Simulate when your client supports it.
- Show contract, method, and parameters before signing.
- Store the hash after broadcast.
- Require a successful receipt before showing completion.
Deploy a contract
FKHood uses standard EVM bytecode. Test against the official Testnet before any Mainnet deployment.
forge script script/Deploy.s.sol:Deploy \
--rpc-url "$FKHOOD_RPC_URL" \
--private-key "$DEPLOYER_PRIVATE_KEY" \
--broadcastRun explorer verification only after the official verifier integration is live. Keep deployer keys out of shell history and CI logs, then record the compiler version, optimizer settings, constructor parameters, bytecode hash, and admin authority for every production deployment.
Token requirements
Publish token identity, supply policy, control addresses, distribution, vesting, and risk information before requesting ecosystem integration.
Do not use hidden transfer taxes, unrestricted mint functions, or ambiguous owner permissions.
Integrate ecosystem protocols
FKHoodLaunch
Prepare a structured launch configuration. Present allocations, vesting, minting, and metadata policy in plain language before a creator submits.
FKHoodX
Read market configuration from contracts, quote margin and liquidation risk before signing, and use fixed-point integers for all settlement logic.
FKHoodForecast
Show the market question, outcome set, resolution source, deadline, and settlement state before a participant takes a position.
Mainnet launch checklist
- ForkHood has announced activation and RPC returns Chain ID
643712891 - Public RPC, WebSocket, explorer, and verifier services have passed availability checks
- Wallet network switching tested with supported providers
- Contracts deployed and verified from approved authority
- Read and write RPC failures tested
- Transaction receipts required before success is shown
- Token authority and distribution visible to users
- Production monitoring and incident contacts ready
For the full reference, implementation notes, and release guidance, read the Markdown integration guide.
