# Uzo Labs > The developer path for BOT Chain. SDKs, templates and infrastructure that take you from zero to shipped. - [Welcome to Uzo](https://docs.uzolabs.xyz/index.md): Build on BOT Chain with practical guides, a TypeScript SDK and starter templates. Start here to deploy your first contract. - [Why Uzo](https://docs.uzolabs.xyz/get-started/why-uzo.md): The problems new BOT Chain developers hit and how Uzo's docs, SDK and templates remove them. - [How Uzo fits together](https://docs.uzolabs.xyz/get-started/how-it-works.md): The four parts of Uzo (docs, SDK, templates and infrastructure), how they connect, and which ones you can use today. - [Quickstart](https://docs.uzolabs.xyz/get-started/quickstart.md): Deploy and verify your first smart contract on BOT Chain testnet in under 15 minutes using Foundry. - [Build your first dApp](https://docs.uzolabs.xyz/get-started/first-dapp.md): Read and write your BOT Chain contract from a viem script, then from a small React page with wagmi. - [What is BOT Chain](https://docs.uzolabs.xyz/get-started/bot-chain/overview.md): BOT Chain is an EVM-compatible layer 1. Learn what carries over from Ethereum and what works differently. - [Connect a wallet](https://docs.uzolabs.xyz/get-started/bot-chain/connect-wallet.md): Add BOT Chain mainnet and testnet to MetaMask, either through Chainlist or by entering the network values yourself. - [Get testnet tokens](https://docs.uzolabs.xyz/get-started/bot-chain/get-testnet-tokens.md): Claim free tBOT from the BOT Chain faucet so you can deploy and test on testnet. - [Consensus and finality](https://docs.uzolabs.xyz/get-started/bot-chain/consensus-and-finality.md): How BOT Chain produces blocks with Parlia, how fast blocks become final, and how to check finality from your app. - [Gas and fees](https://docs.uzolabs.xyz/get-started/bot-chain/gas-and-fees.md): How gas works on BOT Chain, how to read the current gas price, and how to estimate what a transaction will cost. - [Supported EIPs](https://docs.uzolabs.xyz/get-started/bot-chain/supported-eips.md): Which Ethereum upgrades BOT Chain supports, including EIP-1559, EIP-4844 and EIP-7702, and which EVM version to compile for. - [Known limitations](https://docs.uzolabs.xyz/get-started/bot-chain/known-limitations.md): Gaps in BOT Chain's public infrastructure and docs, such as event queries, WebSockets and paymasters, with a workaround for each. - [Choose a toolchain](https://docs.uzolabs.xyz/guides/environment/choose-a-toolchain.md): Compare Hardhat, Foundry and Remix for BOT Chain development and pick the right one for you. - [Set up Hardhat](https://docs.uzolabs.xyz/guides/environment/hardhat.md): Configure a Hardhat 3 project for BOT Chain mainnet and testnet, with keys stored safely and BOTScan support. - [Set up Foundry](https://docs.uzolabs.xyz/guides/environment/foundry.md): Configure Foundry for BOT Chain with RPC endpoints, the Cancun EVM version and encrypted keystore wallets. - [Use Remix](https://docs.uzolabs.xyz/guides/environment/remix.md): Deploy contracts to BOT Chain from your browser by connecting Remix to MetaMask. - [Deploy with Hardhat](https://docs.uzolabs.xyz/guides/deploy/deploy-with-hardhat.md): Deploy a contract to BOT Chain testnet with Hardhat Ignition and find it on BOTScan. - [Deploy with Foundry](https://docs.uzolabs.xyz/guides/deploy/deploy-with-foundry.md): Deploy a contract to BOT Chain testnet with forge create or a forge script. - [Verify contracts](https://docs.uzolabs.xyz/guides/deploy/verify/overview.md): Why you should verify contracts on BOTScan, how its Blockscout verifier works and which method to choose. - [Verify with Hardhat](https://docs.uzolabs.xyz/guides/deploy/verify/hardhat.md): Verify a deployed contract on BOTScan using Hardhat's Blockscout verification support. - [Verify with Foundry](https://docs.uzolabs.xyz/guides/deploy/verify/foundry.md): Verify a deployed contract on BOTScan using forge verify-contract with the Blockscout verifier. - [Verify in the BOTScan UI](https://docs.uzolabs.xyz/guides/deploy/verify/botscan-ui.md): Verify a contract by hand through the BOTScan website when command-line tools are not an option. - [Set up wagmi](https://docs.uzolabs.xyz/guides/frontend/wagmi-setup.md): Configure wagmi and viem with custom BOT Chain mainnet and testnet chain definitions. - [Connect a wallet in your app](https://docs.uzolabs.xyz/guides/frontend/connect-wallet.md): Let users connect a wallet, detect when they are on the wrong network and switch them to BOT Chain. - [Read contract state](https://docs.uzolabs.xyz/guides/frontend/read-contract-state.md): Read data from BOT Chain contracts in React with useReadContract, and batch reads through Multicall3. - [Send transactions](https://docs.uzolabs.xyz/guides/frontend/send-transactions.md): Write to contracts with useWriteContract, wait for receipts, handle errors and link users to BOTScan. - [Work without eth_getLogs](https://docs.uzolabs.xyz/guides/frontend/events-without-getlogs.md): Patterns for tracking on-chain activity when eth_getLogs is unavailable on the public BOT Chain RPC. - [USDT and decimals](https://docs.uzolabs.xyz/guides/defi/tokens/usdt-and-decimals.md): USDT on BOT Chain uses 6 decimals, not 18. Learn to convert amounts correctly and avoid common bugs. - [Wrap BOT](https://docs.uzolabs.xyz/guides/defi/tokens/wrap-bot.md): Convert native BOT to the WBOT token and back so you can use it in DeFi contracts. - [Swaps on BDEX](https://docs.uzolabs.xyz/guides/defi/swaps/overview.md): Compare BDEX V2 and V3, choose the right one for your swap and learn how price quotes work. - [Swap on BDEX V2](https://docs.uzolabs.xyz/guides/defi/swaps/bdex-v2.md): Quote a price with getAmountsOut, approve the router and swap tokens on BDEX V2 testnet. - [Swap on BDEX V3](https://docs.uzolabs.xyz/guides/defi/swaps/bdex-v3.md): Find a pool, quote with QuoterV2 and swap through the BDEX V3 SwapRouter on testnet. - [Slippage and deadlines](https://docs.uzolabs.xyz/guides/defi/swaps/slippage-and-deadlines.md): Protect swaps with a minimum output amount and a deadline, and choose sensible default values. - [Provide V2 liquidity](https://docs.uzolabs.xyz/guides/defi/liquidity/v2.md): Add and remove liquidity in a BDEX V2 pool and understand the LP tokens you receive. - [Provide V3 liquidity](https://docs.uzolabs.xyz/guides/defi/liquidity/v3.md): Understand concentrated liquidity on BDEX V3 and where to find full position management docs. - [Bridge overview](https://docs.uzolabs.xyz/guides/bridge/overview.md): How the BOT Chain bridge moves USDT to Ethereum, BNB Smart Chain and Tron using lock and release. - [Bridge USDT out](https://docs.uzolabs.xyz/guides/bridge/bridge-out.md): Send USDT from BOT Chain to another network by approving the bridge and calling deposit. Rehearse on testnet, then send on mainnet. - [Bridge limits and fees](https://docs.uzolabs.xyz/guides/bridge/limits-and-fees.md): Read the bridge's live transfer limits and minimum fee directly from the contract before you send. - [Track a bridge transfer](https://docs.uzolabs.xyz/guides/bridge/tracking-transfers.md): Follow a bridge transfer from the source transaction to arrival, and understand what a refund means. - [Gasless transactions](https://docs.uzolabs.xyz/guides/gasless/overview.md): Two ways to let users transact without holding BOT: ERC-2771 meta-transactions and the EOA paymaster. - [Meta-transactions](https://docs.uzolabs.xyz/guides/gasless/meta-transactions.md): Let users sign requests that a relayer submits, using OpenZeppelin's ERC2771Forwarder and EIP-712. - [Run a relayer](https://docs.uzolabs.xyz/guides/gasless/run-a-relayer.md): Build a minimal relayer that pays gas for your users, with allowlists, rate limits and safe defaults. - [EOA paymaster](https://docs.uzolabs.xyz/guides/gasless/eoa-paymaster.md): How BOT Chain's EOA paymaster design and API work, and why no paymaster is confirmed for mainnet yet. - [AI agents on BOT Chain](https://docs.uzolabs.xyz/guides/ai-agents/overview.md): Why AI agents that move funds need limits enforced by smart contracts, not by prompts. - [Agent vaults](https://docs.uzolabs.xyz/guides/ai-agents/agent-vaults.md): Hold agent funds in a contract where the owner sets the rules and the agent can only act inside them. - [Spending limits](https://docs.uzolabs.xyz/guides/ai-agents/spending-limits.md): Cap what an agent can spend per UTC day and restrict which addresses it can pay, in Solidity. - [Tool calling](https://docs.uzolabs.xyz/guides/ai-agents/tool-calling.md): Give an AI agent BOT Chain tools with the AI SDK and zod, simulate before sending and return BOTScan links. - [Human approval](https://docs.uzolabs.xyz/guides/ai-agents/human-approval.md): Require a person to approve agent transactions above a threshold before they reach the chain. - [Identity hooks](https://docs.uzolabs.xyz/guides/ai-agents/identity-hooks.md): Plug any identity or reputation protocol into an agent vault through a small, neutral interface. - [Agent security checklist](https://docs.uzolabs.xyz/guides/ai-agents/security-checklist.md): Check your AI agent's on-chain setup against a list of common risks before you give it real funds. - [Use the BOTScan API](https://docs.uzolabs.xyz/guides/data/explorer-api.md): Query addresses, transactions and contracts from BOTScan's public Blockscout API without an API key. - [Batch reads with Multicall3](https://docs.uzolabs.xyz/guides/data/multicall.md): Combine many contract reads into one RPC call with Multicall3 and viem. - [Index chain data](https://docs.uzolabs.xyz/guides/data/indexing.md): Your options for indexing BOT Chain data today, and what the planned Uzo Index will add. - [SDK overview](https://docs.uzolabs.xyz/sdk/overview.md): What @uzolabs/sdk does today, its design principles, its modules and the release plan for the rest. - [Install the SDK](https://docs.uzolabs.xyz/sdk/installation.md): Install @uzolabs/sdk with viem as a peer dependency, and learn how subpath imports work. - [SDK quickstart](https://docs.uzolabs.xyz/sdk/quickstart.md): Read the latest BOT Chain block with @uzolabs/sdk, or with plain viem. - [Chains](https://docs.uzolabs.xyz/sdk/chains/overview.md): The BOT Chain mainnet and testnet chain objects the SDK exports for viem and wagmi. - [botChain](https://docs.uzolabs.xyz/sdk/chains/bot-chain.md): Reference for the botChain object: chain ID, RPC URLs, explorer, native currency and contracts. - [botChainTestnet](https://docs.uzolabs.xyz/sdk/chains/bot-chain-testnet.md): Reference for the botChainTestnet object for BOT Chain testnet, chain 968. - [Contracts](https://docs.uzolabs.xyz/sdk/contracts/overview.md): Contract addresses, ABIs and constants for BOT Chain, bundled in one SDK module. - [Addresses](https://docs.uzolabs.xyz/sdk/contracts/addresses.md): Look up BOT Chain contract addresses per network with the addresses export and getAddresses. - [ABIs](https://docs.uzolabs.xyz/sdk/contracts/abis.md): Typed ABIs for BOT Chain contracts, generated from verified sources and regenerated when proxies change. - [Constants](https://docs.uzolabs.xyz/sdk/contracts/constants.md): Shared constants such as USDT_RESOURCE_ID and TOKENS, plus experimental bridge values. - [Explorer client](https://docs.uzolabs.xyz/sdk/explorer/overview.md): Query BOTScan from TypeScript with createExplorerClient. - [getAddressInfo](https://docs.uzolabs.xyz/sdk/explorer/get-address-info.md): Reference for the getAddressInfo method, which fetches details about an address from BOTScan. - [getContract](https://docs.uzolabs.xyz/sdk/explorer/get-contract.md): Reference for the getContract method, which fetches a verified contract's details from BOTScan. - [BDEX module](https://docs.uzolabs.xyz/sdk/bdex/overview.md): Quote and build swaps on BDEX V2 and V3, call the Routing API and prepare token approvals. - [BDEX V2](https://docs.uzolabs.xyz/sdk/bdex/v2.md): Reference for the planned getAmountsOutV2 and buildSwapExactTokensForTokensV2 functions. - [BDEX V3](https://docs.uzolabs.xyz/sdk/bdex/v3.md): Reference for the planned getPoolV3 and quoteExactInputSingleV3 functions. - [Routing API](https://docs.uzolabs.xyz/sdk/bdex/routing-api.md): Reference for the planned createRoutingClient. You supply the Routing API base URL, which is not public. - [Approvals](https://docs.uzolabs.xyz/sdk/bdex/approvals.md): Build ERC-20 and Permit2 approval transactions for BDEX routers with the planned SDK. - [Bridge module](https://docs.uzolabs.xyz/sdk/bridge/overview.md): Read bridge status and build USDT deposits from BOT Chain. BOT Chain is the only source chain in v1. - [Status and limits](https://docs.uzolabs.xyz/sdk/bridge/status-and-limits.md): Reference for the planned getBridgeStatus, getBridgeLimits and getBotGasConfig functions. - [buildBridgeDeposit](https://docs.uzolabs.xyz/sdk/bridge/build-deposit.md): Reference for the planned buildBridgeDeposit function, including how it handles bot gas. - [Paymaster module](https://docs.uzolabs.xyz/sdk/paymaster/overview.md): Talk to an EOA paymaster from the SDK. No endpoint is confirmed for BOT Chain, so you supply the URL. - [createPaymasterClient](https://docs.uzolabs.xyz/sdk/paymaster/client.md): Reference for the planned createPaymasterClient and the sponsor check and signing flow. - [Use with wagmi](https://docs.uzolabs.xyz/sdk/guides/wagmi.md): Use the SDK's BOT Chain chain objects in a wagmi config. - [Use with ethers](https://docs.uzolabs.xyz/sdk/guides/ethers.md): Use the SDK's addresses and ABIs with ethers v6. - [Use with Next.js](https://docs.uzolabs.xyz/sdk/guides/nextjs.md): Set up the SDK in a Next.js App Router project, with server and client reads. - [Errors](https://docs.uzolabs.xyz/sdk/reference/errors.md): Every SDK error class, what causes it and how to fix it, including classes reserved for planned modules. - [Types](https://docs.uzolabs.xyz/sdk/reference/types.md): Shared TypeScript types in the SDK, plus the types planned for later modules. - [SDK changelog](https://docs.uzolabs.xyz/sdk/reference/changelog.md): Release notes for @uzolabs/sdk. No releases yet. - [Templates](https://docs.uzolabs.xyz/templates/overview.md): Starter projects for BOT Chain, which ones are ready to use, what each one teaches and how to choose. - [Use a template](https://docs.uzolabs.xyz/templates/using-templates.md): The same five steps for every Uzo template: download, install, configure, deploy and run the frontend. - [Prerequisites](https://docs.uzolabs.xyz/templates/prerequisites.md): Install Node.js, Foundry and MetaMask, and get testnet tBOT, before you start a template. - [Token template](https://docs.uzolabs.xyz/templates/token/index.md): A starter project for creating, deploying and verifying an ERC-20 token on BOT Chain. - [Token template walkthrough](https://docs.uzolabs.xyz/templates/token/walkthrough.md): A file-by-file tour of the contracts and scripts in the Token template. - [Customize the Token template](https://docs.uzolabs.xyz/templates/token/customize.md): Ideas and steps for turning the Token template into your own project. - [NFT template](https://docs.uzolabs.xyz/templates/nft/index.md): A starter project for deploying an NFT collection with on-chain art on BOT Chain. - [NFT template walkthrough](https://docs.uzolabs.xyz/templates/nft/walkthrough.md): A file-by-file tour of the contracts and scripts in the NFT template. - [Customize the NFT template](https://docs.uzolabs.xyz/templates/nft/customize.md): Ideas and steps for turning the NFT template into your own project. - [DEX integration template](https://docs.uzolabs.xyz/templates/dex-integration/index.md): A starter project for quoting and swapping tokens on BDEX from your own scripts and app. - [DEX integration template walkthrough](https://docs.uzolabs.xyz/templates/dex-integration/walkthrough.md): A file-by-file tour of the contracts and scripts in the DEX integration template. - [Customize the DEX integration template](https://docs.uzolabs.xyz/templates/dex-integration/customize.md): Ideas and steps for turning the DEX integration template into your own project. - [Bridge integration template](https://docs.uzolabs.xyz/templates/bridge-integration/index.md): A planned starter project for sending USDT out of BOT Chain through the bridge. - [Bridge integration template walkthrough](https://docs.uzolabs.xyz/templates/bridge-integration/walkthrough.md): A file-by-file tour of the contracts and scripts in the Bridge integration template. - [Customize the Bridge integration template](https://docs.uzolabs.xyz/templates/bridge-integration/customize.md): Ideas and steps for turning the Bridge integration template into your own project. - [Gasless app template](https://docs.uzolabs.xyz/templates/gasless-app/index.md): A starter project where users transact without holding BOT, using meta-transactions and a relayer. - [Gasless app template walkthrough](https://docs.uzolabs.xyz/templates/gasless-app/walkthrough.md): A file-by-file tour of the contracts and scripts in the Gasless app template. - [Customize the Gasless app template](https://docs.uzolabs.xyz/templates/gasless-app/customize.md): Ideas and steps for turning the Gasless app template into your own project. - [AI agent template](https://docs.uzolabs.xyz/templates/ai-agent/index.md): A planned starter project for an AI agent that spends from a contract vault with on-chain limits. - [AI agent security model](https://docs.uzolabs.xyz/templates/ai-agent/security-model.md): How the AI agent template keeps funds safe with an owner, an operator and limits enforced by the vault. - [AI agent template walkthrough](https://docs.uzolabs.xyz/templates/ai-agent/walkthrough.md): A file-by-file tour of the contracts and scripts in the AI agent template. - [Customize the AI agent template](https://docs.uzolabs.xyz/templates/ai-agent/customize.md): Ideas and steps for turning the AI agent template into your own project. - [Add a template](https://docs.uzolabs.xyz/templates/contributing/add-a-template.md): Rules and steps for contributing a new starter template to Uzo. - [Uzo RPC](https://docs.uzolabs.xyz/infrastructure/rpc/overview.md): A planned RPC service for BOT Chain with eth_getLogs and WebSocket support. - [Uzo RPC endpoints](https://docs.uzolabs.xyz/infrastructure/rpc/endpoints.md): Uzo RPC endpoints are not live yet. Use the public BOT Chain RPCs in the meantime. - [Uzo RPC rate limits](https://docs.uzolabs.xyz/infrastructure/rpc/rate-limits.md): Uzo RPC rate limits will be published when the service launches. - [Logs and WebSockets](https://docs.uzolabs.xyz/infrastructure/rpc/logs-and-websockets.md): Why eth_getLogs and WebSockets are missing on public BOT Chain RPCs, and how to work around it today. - [Uzo Index](https://docs.uzolabs.xyz/infrastructure/index/overview.md): A planned indexing service for querying BOT Chain events and history. - [Ponder starter](https://docs.uzolabs.xyz/infrastructure/index/ponder-starter.md): A planned Ponder indexer starter for BOT Chain, which needs an RPC with eth_getLogs. - [Product status](https://docs.uzolabs.xyz/infrastructure/status.md): The current status of every Uzo product, from live to planned. - [Hackathon kit](https://docs.uzolabs.xyz/hackathons/overview.md): Everything participants and organizers need to build on BOT Chain at a hackathon. - [Day one checklist](https://docs.uzolabs.xyz/hackathons/day-one-checklist.md): Set up your wallet, test tokens and toolchain, and deploy a first contract on day one. - [Example tracks](https://docs.uzolabs.xyz/hackathons/tracks.md): Example hackathon track ideas for BOT Chain: AI agents, payments, DeFi and an open track. - [Submit your project](https://docs.uzolabs.xyz/hackathons/submission.md): What to submit: repo, testnet contract address, verified source, demo video and a one-page pitch. - [Hackathon FAQ](https://docs.uzolabs.xyz/hackathons/faq.md): Fixes for the most common blockers participants hit during a BOT Chain hackathon. - [Workshop: setup](https://docs.uzolabs.xyz/hackathons/workshops/setup.md): Outline and timing for a workshop that gets every participant's environment ready. - [Workshop: first contract](https://docs.uzolabs.xyz/hackathons/workshops/first-contract.md): Outline for a workshop where participants write, deploy and verify a contract on testnet. - [Workshop: AI agent](https://docs.uzolabs.xyz/hackathons/workshops/ai-agent.md): Planned outline for a workshop on building an AI agent with on-chain spending limits. - [Run a hackathon](https://docs.uzolabs.xyz/hackathons/organizers/run-a-hackathon.md): A logistics checklist for organizing a BOT Chain hackathon, from planning to demo day. - [Judging rubric](https://docs.uzolabs.xyz/hackathons/organizers/judging-rubric.md): Criteria and weights for judging BOT Chain hackathon projects fairly. - [Verify submissions](https://docs.uzolabs.xyz/hackathons/organizers/verify-submissions.md): Check that a team's contract is deployed and verified on BOTScan using its public API. - [Faucet plan](https://docs.uzolabs.xyz/hackathons/organizers/faucet-plan.md): Plan around the faucet's daily tBOT limit so every participant has test tokens on time. - [Networks](https://docs.uzolabs.xyz/reference/networks.md): Chain IDs, RPC URLs, explorers and wallet settings for BOT Chain mainnet and testnet. - [Contract addresses](https://docs.uzolabs.xyz/reference/contract-addresses.md): Addresses of core BOT Chain contracts on mainnet and testnet, each linked to BOTScan. - [JSON-RPC](https://docs.uzolabs.xyz/reference/json-rpc/overview.md): BOT Chain's Geth-compatible JSON-RPC API and where to find method details. - [Differences from Geth](https://docs.uzolabs.xyz/reference/json-rpc/differences-from-geth.md): Documented ways the BOT Chain JSON-RPC API differs from standard Geth. - [Blob API](https://docs.uzolabs.xyz/reference/json-rpc/blob-api.md): Reference for BOT Chain's blob sidecar RPC methods, such as eth_getBlobSidecarByTxHash. - [Explorer API](https://docs.uzolabs.xyz/reference/explorer-api.md): Reference for BOTScan's Blockscout v2 and Etherscan-style API endpoints. - [BDEX API](https://docs.uzolabs.xyz/reference/bdex-api.md): Reference for the public BDEX data API, such as pool and pair listings. - [Troubleshooting](https://docs.uzolabs.xyz/reference/troubleshooting.md): Common BOT Chain error messages, what causes them and how to fix them. - [FAQ](https://docs.uzolabs.xyz/reference/faq.md): Answers to common questions about Uzo and building on BOT Chain. - [Glossary](https://docs.uzolabs.xyz/reference/glossary.md): Short definitions of BOT Chain and Uzo terms, from BOT and BDEX to paymaster and resource ID. - [Changelog](https://docs.uzolabs.xyz/changelog.md): What's new in the Uzo docs. - [Contributing](https://docs.uzolabs.xyz/reference/contributing.md): How to suggest edits, open issues and follow the Uzo docs style guide. - [Security](https://docs.uzolabs.xyz/reference/security.md): How to report a security vulnerability in Uzo privately. - [Disclaimer](https://docs.uzolabs.xyz/reference/disclaimer.md): Uzo Labs is independent of BOT Chain. These docs are learning material, not financial advice. ## Optional - [GitHub](https://github.com/uzolabs) - [BOTScan](https://scan.botchain.ai) - [Testnet faucet](https://faucet.botchain.ai/basic) - [BOT Chain docs](https://dev-docs.botchain.ai/docs/intro) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.