Skip to content

EVANGEL DOCUMENTATION / 10

Deployment and keys

Operator setup for the website and Base Sepolia contracts.

Before deploying

Use the reviewed source and a funded Base Sepolia wallet. The configured Evangel authority is 0x104093b31dFF44728f7CAA9C1bfc81A36F8F6e8C. It must be the deployer, first EVANGEL developer, governor, verifier, and steward for official deployments.

Publishing the website does not deploy contracts. A configured address must come from a successful receipt and public deployment manifest, not an inferred or placeholder address.

Import the encrypted local keystore

Run these commands in your own terminal. Foundry asks for the key and encryption password through hidden prompts. Use a strong unique password and a secure separate backup. Do not put either secret into a command argument.

cast wallet import evangel-deployer --interactive
chmod 700 ~/.foundry/keystores
chmod 600 ~/.foundry/keystores/evangel-deployer

Public configuration

These values identify the public wallet and chain. They are not private credentials. Keep the encrypted keystore outside the repository at ~/.foundry/keystores/evangel-deployer.

EVANGEL_AUTHORITY=0x104093b31dFF44728f7CAA9C1bfc81A36F8F6e8C
EVANGEL_DEVELOPER=0x104093b31dFF44728f7CAA9C1bfc81A36F8F6e8C
EVANGEL_KEYSTORE_ACCOUNT=evangel-deployer
EVANGEL_NETWORK=base-sepolia
EVANGEL_RPC_URL=https://sepolia.base.org

Build and verify

npm install
npm run contracts:build
npm run contracts:abi
npm test
npm run test:browser
npm run build
npm run launchpad:preflight

Deploy the two protocols

The launchpad and funding treasury deploy separately. These commands broadcast real testnet transactions and require testnet ETH plus local keystore signing. Review any existing manifests before rerunning to avoid accidental duplicate deployments.

npm run launchpad:deploy -- --broadcast
npm run deploy:testnet

Connect the results

For the launchpad, set EVANGEL_LAUNCH_FACTORY and EVANGEL_LAUNCH_BLOCK from deployment.launchpad.testnet.json. For funding, set NEXT_PUBLIC_EVANGEL_ADDRESS and EVANGEL_DEPLOYMENT_BLOCK from deployment.testnet.json. Configure the optional sponsored-account address from its successful deployment.

Redeploy the website with public configuration, verify chain ID and code at every address, and confirm explorer source verification separately. A manifest is not evidence of source verification unless that step succeeded.

Approve a pairing, then request EVANGEL

Even default USDC begins ineligible until a current liquidity report is approved. Use the Pairing assets guide to prepare evidence. After approval, submit the EVANGEL request from the founding developer and review its exact subject hash. Creating the token and adopting the project are distinct actions.

Public testnet liquidity generally cannot substantiate real dollar-valued market depth. Do not fabricate a production-quality liquidity report for a test fixture. Local tests use explicitly fictional evidence. A public testnet rollout needs an explicitly defined test-only eligibility policy or actual suitable evidence; the production threshold is not silently bypassed.

Provider setup

GitHub verification requires the configured read-only GitHub App. Social imports require the relevant provider configuration. Kairence advice and evidence evaluation require its account and inference configuration. Hosted paid calls also require EVANGEL_PROVIDER_RATE_LIMIT_ID pointing to a real published rule.

GITHUB_APP_PRIVATE_KEY is a server-only provider credential, not your Ethereum wallet key. No secret belongs in NEXT_PUBLIC_* variables. Kairence external-token enrollment details must be confirmed before claiming activation.