Quickstart
Zero to deployed, on testnet.
Four steps from an empty folder to a contract you can see on the explorer. Every config on this page points at real endpoints.
- Step 1
- Claim test tBOT
- Step 2
- Add the network
- Step 3
- Configure your tool
- Step 4
- Find it on BOTScan
Step 1 and 2
Get on testnet. Gas first, then the network.
Deploying costs gas, even on testnet. Claim a little tBOT for the wallet you will deploy from, then add the network to your wallet and tools.
BOT Chain testnet
- Chain ID968
- RPChttps://rpc.bohr.life
- Explorerscan.bohr.life
- TokentBOT
BOT Chain mainnet
- Chain ID677
- RPChttps://rpc.botchain.ai
- Explorerscan.botchain.ai
- TokenBOT
Step 3
Configure your tool.
Pick viem for an app, or Hardhat or Foundry for contracts. Each one ends with the deploy command.
import { defineChain, createPublicClient, http } from 'viem'
export const botChain = defineChain({
id: 677,
name: 'BOT Chain',
nativeCurrency: { name: 'BOT', symbol: 'BOT', decimals: 18 },
rpcUrls: { default: { http: ['https://rpc.botchain.ai'] } },
blockExplorers: { default: { name: 'BOTScan', url: 'https://scan.botchain.ai' } },
contracts: {
multicall3: { address: '0x47FA21f684bBAD707A53a0f9BE59F1422F46C265' },
},
})
const client = createPublicClient({ chain: botChain, transport: http() })
console.log(await client.getBlockNumber())import { configVariable, defineConfig } from 'hardhat/config'
import hardhatToolboxViem from '@nomicfoundation/hardhat-toolbox-viem'
export default defineConfig({
plugins: [hardhatToolboxViem],
solidity: '0.8.28',
networks: {
botTestnet: {
type: 'http',
url: 'https://rpc.bohr.life',
chainId: 968,
accounts: [configVariable('BOT_PRIVATE_KEY')],
},
botMainnet: {
type: 'http',
url: 'https://rpc.botchain.ai',
chainId: 677,
accounts: [configVariable('BOT_PRIVATE_KEY')],
},
},
})npx hardhat keystore set BOT_PRIVATE_KEY
npx hardhat ignition deploy ignition/modules/Counter.ts --network botTestnet[profile.default]
src = "src"
out = "out"
libs = ["lib"]
[rpc_endpoints]
bot_mainnet = "https://rpc.botchain.ai"
bot_testnet = "https://rpc.bohr.life"# Import a key once: cast wallet import deployer --interactive
forge create src/Counter.sol:Counter \
--rpc-url bot_testnet \
--account deployer \
--broadcastStep 4
Find it on BOTScan.
Copy the contract address from your deploy output and search for it on the testnet explorer. If it is there, you are on the path.
No setup? Deploy from your browser.
Uzo Deploy puts a token, an NFT collection or a tip jar on BOT Chain without a local toolchain, and verifies the source for you.
Open Uzo Deploy


