# Base Documentation — Full Context > Full context for AI agents working with Base. Cross-cutting concept guides (networks, auth, errors, rate limits) sit above an index of every page in the public documentation navigation. Follow page URLs for source content. ## How the docs are organized - The root `./llms.txt` (index) and `./llms-full.txt` (expanded) cover the whole site - Main sections (tabs): Get Started, Build on Base (use cases), Chain (network spec/reference), SDKs & APIs ## Cross-site concepts ### Networks and environments Sources: - `https://docs.base.org/base-chain/quickstart/connecting-to-base.md` - `https://docs.base.org/base-chain/overview.md` - `https://docs.base.org/get-started/base-services-hub.md` > Base runs on Ethereum L2 with mainnet and Base Sepolia testnet. Use official RPCs from trusted node providers. Typical chain IDs: Base mainnet (8453), Base Sepolia (84532). Prefer HTTPS RPCs behind TLS, pin to provider domains, and handle occasional reorgs. For clients (e.g., Viem), configure the chain and transport explicitly; avoid relying on window-injected providers in server contexts. ### Errors and retries Sources: - `https://docs.base.org/base-chain/node-operators/troubleshooting.md` > Expect standard JSON error envelopes with `code`, `message`, and optional `details`. Treat 429 as rate-limited: respect `Retry-After` and apply exponential backoff with jitter. For idempotent operations (payments, tx-build), include an idempotency key if supported. Distinguish user-declined actions from transport or server errors and surface clear recovery guidance to users. ### Rate limits Sources: - `https://docs.base.org/get-started/base-services-hub.md` > Rate limits vary by provider and endpoint. Batch reads when possible, cache static metadata, and use conditional requests. On 429, back off and retry after the indicated window. Avoid concurrent duplicate builds/quotes; fan out only when necessary. ### SDK install and hello world (JS/TS) Base Account (smart wallet + pay helper + capabilities) ```bash npm install @base-org/account ``` ```ts import { createBaseAccount, pay, getPaymentStatus } from '@base-org/account' const account = await createBaseAccount({ owner: '0xYourEOA', chain: 'base-sepolia' }) const { id } = await pay({ amount: '5.00', to: '0xRecipient', testnet: true }) const { status } = await getPaymentStatus({ id }) ``` Connect a client to Base (Viem) ```ts import { createPublicClient, http } from 'viem' import { base } from 'viem/chains' const client = createPublicClient({ chain: base, transport: http() }) ``` ### Site-wide FAQ (very short) - Can I use product X without Y? Yes. See each product’s Concepts for dependencies and synergies. - Where are full code samples? In each product shard under Examples with links to repos. - Which testnet should I use? Base Sepolia. Fund via listed faucets; verify contract addresses and RPC URLs. ## Related indexes - Root index (all sections): `./llms.txt` - This file (`./llms-full.txt`) is the expanded, full-context index for the whole site. ## Get Started ### Quickstart - [Base](https://docs.base.org/get-started/base): The blockchain for global finance. - [Connect to Base](https://docs.base.org/get-started/connect-to-base): Network details for Base Mainnet and Base Sepolia: RPC endpoints, chain IDs, and block explorers. - [Get Funds](https://docs.base.org/get-started/get-funds): Fund an address on Base: withdraw from a Coinbase account, bridge from another chain, or use a testnet faucet. - [Make a Transaction](https://docs.base.org/get-started/make-a-transaction): Send your first transaction on Base with viem: connect, sign, and confirm in seconds for a fraction of a cent. - [Bridge to Base](https://docs.base.org/base-chain/network-information/ecosystem-bridges): Move ETH, stablecoins, and tokens to and from Base — from a Coinbase account, Ethereum, Solana, or Bitcoin. ### Solutions - [Integrate DeFi](https://docs.base.org/get-started/integrate-defi): Add trading, direct lending, collateralized borrowing, or a vault-based earn product to your app with third-party protocols on Base. - [Tokenize Assets](https://docs.base.org/get-started/issue-rwa): Represent and operate real-world assets on Base with the B20 Asset standard: configurable precision, issuer roles, holder controls, and distributions through one ERC-20-compatible surface. - [Issue a Stablecoin](https://docs.base.org/get-started/issue-stablecoins): Run a fiat-backed stablecoin on Base with minting, compliance, and reconciliation built into the chain. - [Accept Payments](https://docs.base.org/get-started/accept-payments): Choose an onchain payment lifecycle for checkout, agentic payments, reconciliation, refunds, and payouts on Base. ### Coding Agents - [Resources for AI Agents](https://docs.base.org/get-started/resources-for-ai-agents): Base-first resources for AI agents, including docs indexes, MCP access, skills, and recommended starting points - [MCP Server](https://docs.base.org/get-started/docs-mcp): Connect your AI coding assistant to Base documentation using Model Context Protocol for real-time access. - [Static Docs Files](https://docs.base.org/get-started/docs-llms): Use llms.txt and llms-full.txt to give AI assistants access to Base documentation. ### Get Funding - [Base Batches](https://docs.base.org/get-started/base-batches): Apply to Base Batches, an accelerator with investment, mentorship, and a demo day for early-stage teams building on Base. - [Base Ecosystem Fund](https://docs.base.org/get-started/base-ecosystem-fund): The Base Ecosystem Fund backs pre-seed and seed teams building onchain businesses on Base, in partnership with Coinbase Ventures. - [Base Services Hub](https://docs.base.org/get-started/base-services-hub): A collection of services for building on Base. ### References - [Base Protocol](https://docs.base.org/get-started/base-chain): Explore Base as a chain: connect to its networks, use native primitives, understand transactions and network systems, and operate infrastructure. - [SDKs & APIs](https://docs.base.org/get-started/sdks-and-apis): Choose the Base SDK, API, CLI, or MCP integration that matches what you are building. ## Build on Base ### Overview - [Overview](https://docs.base.org/build-on-base/overview): Build financial products on Base by outcome: integrate DeFi, tokenize assets, issue stablecoins, or accept payments. - [Test on Vibenet](https://docs.base.org/build-on-base/test-on-vibenet): Build and test against Base's newest chain-level features on Vibenet, Base's experimental preview network, and track what's live at chain.base.org/vibenet. - [Assign User Attributes](https://docs.base.org/build-on-base/assign-user-attributes): Choose Builder Codes for transaction attribution or Base Verify for verified user traits, identity deduplication, and eligibility policies. ### Integrate DeFi - [Integrate Trading](https://docs.base.org/build-on-base/integrate-defi/integrate-trading): Let users swap tokens on Base with executable routes from the 0x Swap API. - [Integrate Lending](https://docs.base.org/build-on-base/integrate-defi/integrate-lending): Let users supply USDC directly to Morpho or Aave lending markets on Base. - [Integrate Borrowing](https://docs.base.org/build-on-base/integrate-defi/integrate-borrowing): Let users borrow USDC against WETH collateral with Morpho or Aave on Base. - [Integrate an Earn Product](https://docs.base.org/build-on-base/integrate-defi/integrate-earn-product): Give users a one-deposit USDC earn experience with Morpho vaults on Base. ### Tokenize Assets - [Create an Asset Token](https://docs.base.org/build-on-base/issue-rwa/create-an-asset-token): Create a six-decimal B20 Asset token with issuer roles, a supply ceiling, and issuer-defined metadata. This example configures a stock token. - [Issue Units to Holders](https://docs.base.org/build-on-base/issue-rwa/issue-units): Distribute B20 Asset units to multiple approved holders in one batch. - [Restrict Eligible Holders](https://docs.base.org/build-on-base/issue-rwa/restrict-eligible-holders): Keep units within an approved set of holders by binding a B20 allowlist to issuance and transfers. - [Cancel Blocked Units](https://docs.base.org/build-on-base/issue-rwa/cancel-blocked-units): Cancel units from a holder after removing the holder from a B20 sender allowlist. - [Announce a Distribution](https://docs.base.org/build-on-base/issue-rwa/announce-a-distribution): Publish a B20 Asset announcement and distribute additional units to holders in the same transaction. - [Apply a Multiplier](https://docs.base.org/build-on-base/issue-rwa/apply-a-multiplier): Apply a B20 Asset multiplier to update displayed unit balances without migrating holders. A stock split is one example. - [Pause Transfers](https://docs.base.org/build-on-base/issue-rwa/pause-transfers): Pause transfers on a B20 Asset token during an incident while leaving minting and burning available. ### Issue Stablecoins - [Issue Your Stablecoin](https://docs.base.org/build-on-base/issue-stablecoins/issue-your-stablecoin): Create a fiat-backed stablecoin on Base with one B20 factory call. - [Mint Supply](https://docs.base.org/build-on-base/issue-stablecoins/mint-supply): Issue new stablecoin supply on Base as reserves grow, gated by a minter role and an optional supply cap. - [Burn Supply](https://docs.base.org/build-on-base/issue-stablecoins/burn-supply): Retire stablecoin supply on Base when a holder redeems for fiat, keeping circulating supply matched to reserves. - [Restrict Who Can Hold It](https://docs.base.org/build-on-base/issue-stablecoins/restrict-who-can-hold): Limit transfers of your stablecoin to accounts your KYC program has approved, using B20 transfer policies. - [Block an Account](https://docs.base.org/build-on-base/issue-stablecoins/block-an-account): Stop a specific address from moving your stablecoin when a compliance hold requires it, without affecting other holders. - [Recover Funds](https://docs.base.org/build-on-base/issue-stablecoins/recover-funds): Reclaim and reissue stablecoin from a blocked account on Base, for lost keys or a legal hold. - [Pause Activity](https://docs.base.org/build-on-base/issue-stablecoins/pause-activity): Halt transfers, mints, or burns on your stablecoin independently during an incident, then resume when it's resolved. - [Reconcile with Memos](https://docs.base.org/build-on-base/issue-stablecoins/reconcile-with-memos): Tag stablecoin operations with an onchain reference so you can match them to offchain records at scale. ### Accept Payments #### Take a Payment - [Request a Payment](https://docs.base.org/build-on-base/accept-payments/request-a-payment): Request an immediately settled USDC or memo-enabled B20 payment from a wallet on Base. - [Authorize a Payment](https://docs.base.org/build-on-base/accept-payments/authorize-a-payment): Ask a buyer to sign a USDC authorization that your merchant backend can capture later on Base. - [Capture an Authorization](https://docs.base.org/build-on-base/accept-payments/capture-an-authorization): Settle a stored USDC authorization from the merchant account with receiveWithAuthorization. - [Capture a Partial Amount](https://docs.base.org/build-on-base/accept-payments/capture-a-partial-amount): Authorize a maximum USDC amount and capture the final total through a constrained one-use checkout contract. - [Void an Authorization](https://docs.base.org/build-on-base/accept-payments/void-an-authorization): Expire an unused USDC authorization or cancel its nonce onchain with the buyer's signature. - [Charge on a Schedule](https://docs.base.org/build-on-base/accept-payments/charge-on-a-schedule): Charge a smart account on a recurring schedule within a buyer-approved period allowance. #### Confirm and Reconcile - [Verify a Payment](https://docs.base.org/build-on-base/accept-payments/verify-a-payment): Verify USDC or B20 settlement on your backend and claim each transaction exactly once before fulfillment. - [Watch for Payments](https://docs.base.org/build-on-base/accept-payments/watch-for-payments): Watch token Transfer logs, backfill missed blocks, and process confirmed payments idempotently. - [Reconcile Payments](https://docs.base.org/build-on-base/accept-payments/reconcile-payments): Build a merchant settlement report from token transfers and optional B20 memo events. #### Return and Pay Out - [Refund a Payment](https://docs.base.org/build-on-base/accept-payments/refund-a-payment): Return tokens to the verified payer and keep partial or repeated refunds within the captured balance. - [Send a Payout](https://docs.base.org/build-on-base/accept-payments/send-a-payout): Send a referenced batch of token payouts in one transaction without leaving funds in the payout contract. - [Split a Payment](https://docs.base.org/build-on-base/accept-payments/split-a-payment): Split one token amount across marketplace recipients with exact basis-point accounting and no stranded dust. #### Accept Agentic Payments - [Charge for an API](https://docs.base.org/build-on-base/accept-payments/charge-for-an-api): Protect a fixed-price API route with the x402 exact scheme on Base. - [Settle Usage-Based Payments](https://docs.base.org/build-on-base/accept-payments/settle-usage-based-payments): Authorize a maximum x402 payment and settle the actual API usage after the handler succeeds. - [Batch High-Frequency Payments](https://docs.base.org/build-on-base/accept-payments/batch-high-frequency-payments): Verify cumulative x402 vouchers per request and settle high-frequency API usage in batches. - [Call a Paid Service](https://docs.base.org/build-on-base/accept-payments/call-a-paid-service): Call an x402 service from an agent while enforcing network, token, per-request, and session spend limits. ## Specifications ### Specifications - [Overview](https://docs.base.org/specifications/overview): Base protocol specifications — tokens, bridging, transactions, consensus, execution, and proofs. #### Base Protocol - [Overview](https://docs.base.org/specifications/base-protocol/overview): High-level overview of the Base Chain protocol — network participants, system architecture, core components, and user flows. ##### Consensus - [Specification](https://docs.base.org/specifications/base-protocol/consensus/specification): Specification of the Base rollup node, describing its components and role in L2 block derivation and consensus. - [Derivation](https://docs.base.org/specifications/base-protocol/consensus/derivation): Specification of the L2 chain derivation pipeline, describing how L2 blocks are deterministically derived from L1 data and sequencer batches. - [P2P](https://docs.base.org/specifications/base-protocol/consensus/p2p): Specification of the rollup node peer-to-peer network, covering node discovery, gossip protocol, and unsafe block propagation. - [RPC](https://docs.base.org/specifications/base-protocol/consensus/rpc): Specification of the rollup node RPC interface, including the optimism_outputAtBlock method for retrieving L2 output roots. ##### Execution - [L2 Execution Engine](https://docs.base.org/specifications/base-protocol/execution/l2-execution-engine): Specification of the L2 execution engine, detailing EIP-1559 parameters, fee vaults, Engine API usage, and execution layer behavior. - [Precompiles](https://docs.base.org/specifications/base-protocol/execution/precompiles): Specification of precompiled contracts on Base, including native EVM implementations available at predefined addresses. - [Predeploys](https://docs.base.org/specifications/base-protocol/execution/predeploys): Specification of predeployed smart contracts on Base, including system contracts deployed at predetermined addresses in genesis state. - [Preinstalls](https://docs.base.org/specifications/base-protocol/execution/preinstalls): Specification of preinstalled smart contracts on Base, including utility contracts deployed in genesis state that run directly in the EVM. ##### Bridging - [Standard Bridges](https://docs.base.org/specifications/base-protocol/bridging/standard-bridges): Specification of the standard bridge contracts enabling cross-domain ETH and ERC-20 token transfers between L1 and L2 on Base. - [Deposits](https://docs.base.org/specifications/base-protocol/bridging/deposits): How deposits work on Base — from user experience to the protocol-level deposit transaction type and guaranteed gas market. - [Withdrawals](https://docs.base.org/specifications/base-protocol/bridging/withdrawals): How withdrawals work on Base — the standard 3-step flow, the 7-day challenge period, faster options, and the full protocol specification. - [Cross Domain Messengers](https://docs.base.org/specifications/base-protocol/bridging/cross-domain-messengers): Specification of the cross-domain messenger contracts, providing a higher-level API for sending messages between L1 and L2 on Base. - [Base-Solana Bridge](https://docs.base.org/specifications/base-protocol/bridging/base-solana-bridge): Bridge tokens and messages between Base and Solana Mainnet - [Batcher](https://docs.base.org/specifications/base-protocol/batcher): Specification of the batcher (batch submitter), the component responsible for posting L2 sequencer data to L1 for data availability. ##### Proofs - [Proofs](https://docs.base.org/specifications/base-protocol/proofs/overview): Overview of the offchain services and onchain contracts that make L2 checkpoint proposals verifiable from Ethereum in the Azul proof system. - [Challenger](https://docs.base.org/specifications/base-protocol/proofs/challenger): Specification of the challenger, an offchain service that detects invalid AggregateVerifier games and submits dispute transactions on L1 to nullify them. - [Proposer](https://docs.base.org/specifications/base-protocol/proofs/proposer): Specification of the proposer, an offchain service that turns canonical L2 checkpoint ranges into AggregateVerifier games on L1. - [Registrar](https://docs.base.org/specifications/base-protocol/proofs/registrar): Specification of the registrar, an offchain service that maintains the onchain registry of accepted TEE signer identities via attestation ZK proofs. - [TEE Prover](https://docs.base.org/specifications/base-protocol/proofs/tee-prover): Specification of the TEE prover, an offchain service that re-executes L2 block ranges inside AWS Nitro Enclaves to produce signed proof material for AggregateVerifier games. - [ZK Prover](https://docs.base.org/specifications/base-protocol/proofs/zk-prover): Specification of the ZK prover, an offchain service that uses SP1 programs to produce permissionless proofs for checkpoint proposals and disputes. - [Proof Contracts](https://docs.base.org/specifications/base-protocol/proofs/proof-contracts): Specification of the onchain contracts that verify proof material, track game state, and release withdrawals for the Azul proof system. - [Design Goals](https://docs.base.org/specifications/base-protocol/design-goals): Design philosophy and lineage of the Base Chain protocol specification. #### B20 - [B20 Specification](https://docs.base.org/specifications/b20/specification-overview): Normative Beryl specification for Base's B20 native token standard, precompile registries, policy scopes, factory, and variants. - [B20 Token Standard](https://docs.base.org/specifications/b20/launch-a-b20-token): What B20 is — Base's native token standard — how its factory, roles, policies, and variants work, and how to launch a B20 token in a single transaction. - [Tokenized Stocks on Base](https://docs.base.org/specifications/b20/tokenized-stocks-on-base): Technical guide to integrating tokenized stocks on Base, including B20 contracts, multipliers, compliance policies, and price feeds. ##### Reference ###### Interfaces - [IActivationRegistry Reference](https://docs.base.org/specifications/b20/reference/interfaces/i-activation-registry): Generated B20 reference for IActivationRegistry functions, events, and errors. - [IB20 Reference](https://docs.base.org/specifications/b20/reference/interfaces/ib20): Generated B20 reference for IB20 functions, events, and errors. - [IB20Asset Reference](https://docs.base.org/specifications/b20/reference/interfaces/ib20-asset): Generated B20 reference for IB20Asset functions, events, and errors. - [IB20Factory Reference](https://docs.base.org/specifications/b20/reference/interfaces/ib20-factory): Generated B20 reference for IB20Factory functions, events, and errors. - [IB20Stablecoin Reference](https://docs.base.org/specifications/b20/reference/interfaces/ib20-stablecoin): Generated B20 reference for IB20Stablecoin functions, events, and errors. - [IPolicyRegistry Reference](https://docs.base.org/specifications/b20/reference/interfaces/i-policy-registry): Generated B20 reference for IPolicyRegistry functions, events, and errors. - [Constants & Addresses](https://docs.base.org/specifications/b20/reference/constants-addresses): Copy B20 precompile addresses, roles, policy scopes, variant bytes, policy IDs, and supply-cap constants. - [Errors & Events Index](https://docs.base.org/specifications/b20/reference/errors-events): Reverse lookup B20 errors and events by selector or topic. - [B20 Invariants and Test Cases](https://docs.base.org/specifications/b20/reference/invariants-tests): Normative invariants the B20 precompiles guarantee, and the conformance test cases that exercise them. - [Changelog](https://docs.base.org/specifications/b20/changelog): Per-hardfork, per-feature migration notes for the B20 token standard, newest first, including new methods, deprecations, and activation dates. - [Native Account Abstraction](https://docs.base.org/specifications/native-account-abstraction): EIP-8130 reference for Base: vibenet chain details, client setup, transaction structure, account configuration, authenticators, and payers. #### Transactions - [Transaction Ordering](https://docs.base.org/specifications/transactions/transaction-ordering): Transactions are ordered based priority fee and arrival time, which determines which Flashblock they are included in. - [Transaction Finality](https://docs.base.org/specifications/transactions/transaction-finality): Detailed information about transaction finality on Base. - [Network Fees](https://docs.base.org/specifications/transactions/network-fees): Documentation about network fees on Base. This page covers details of the two-component cost system involving L2 execution fees and L1 security fees, and offers insights on fee variations and cost-saving strategies. - [Throughput and Limits](https://docs.base.org/specifications/transactions/throughput-and-limits): Gas limits and throughput-related network parameters on Base. - [Troubleshooting Transactions](https://docs.base.org/specifications/transactions/troubleshooting-transactions): Guide to diagnosing and resolving transaction issues on Base. - [Flashblocks](https://docs.base.org/specifications/flashblocks): Reference for Flashblocks on Base — key concepts, architecture, and frequently asked questions about block building, WebSocket data, RPC usage, and node setup. #### Builder Codes - [Base Builder Codes](https://docs.base.org/specifications/builder-codes/overview): Attribute onchain activity to your app, wallet or agent with Builder Codes. - [Builder Codes for App Developers](https://docs.base.org/specifications/builder-codes/for-app-developers): Integrate Builder Codes into your app using Wagmi or Viem to attribute onchain activity. - [Builder Codes for Wallet Developers](https://docs.base.org/specifications/builder-codes/for-wallet-developers): Implement the dataSuffix capability in your wallet to enable Builder Code attribution. - [Builder Codes for Agent Developers](https://docs.base.org/specifications/builder-codes/for-agent-developers): Attribute your AI agent's onchain transactions to your identity on Base and unlock analytics and leaderboard features. ### Reference - [Contract Addresses](https://docs.base.org/specifications/reference/base-contracts): A comprehensive list of contract addresses for Base Mainnet and Base Testnet, including links to their respective blockchain explorers. - [Smart Contracts](https://docs.base.org/specifications/reference/smart-contracts): How smart contracts work on Base, why Base needs its own Foundry build, and how to deploy a contract to Base Sepolia with base-anvil. - [Configuration](https://docs.base.org/specifications/reference/configuration): Reference for Base Chain configuration parameters across consensus, policy, admin, and sequencer categories. - [Glossary](https://docs.base.org/specifications/reference/glossary): Glossary of terms and definitions used throughout the Base Chain protocol specification. ### Node Operators - [Run a Node](https://docs.base.org/specifications/node-operators/run-a-node): A tutorial that teaches how to set up and run a Base Node. - [Node Performance](https://docs.base.org/specifications/node-operators/performance-tuning): Hardware specifications, storage requirements, client recommendations, and configuration settings for running a performant Base node. - [Node Snapshots](https://docs.base.org/specifications/node-operators/snapshots): Download and restore Base node snapshots to significantly reduce initial sync time for nodes. - [Node Troubleshooting](https://docs.base.org/specifications/node-operators/troubleshooting): Solutions to common issues when setting up and running a Base node, covering sync problems, networking, snapshots, and performance. ### Security - [Security Council for Base](https://docs.base.org/specifications/security/security-council-for-base): This page outlines the purpose, goals, structure, and responsibilities of the Security Council for Base. - [How to Avoid Getting Your App Flagged as Malicious](https://docs.base.org/specifications/security/avoid-malicious-flags): The Base bug bounty program and procedures for reporting vulnerabilities. - [Reporting Vulnerabilities](https://docs.base.org/specifications/security/report-a-vulnerability): The Base procedures for reporting vulnerabilities. ## SDKs & APIs ### Overview - [SDKs & APIs](https://docs.base.org/sdks/overview): SDKs and APIs for accounts, identity verification, attribution, AI assistants, and direct Base chain access. ### CLIs - [base-anvil CLI](https://docs.base.org/sdks/base-anvil): Base's Foundry build: install base-forge, base-cast, and base-anvil, which teach Foundry about Base's native precompiles. ### Base Chain API - [Base RPC Overview](https://docs.base.org/base-chain/api-reference/rpc-overview): Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes. #### Ethereum JSON-RPC API - [eth_blockNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber): Returns the number of the most recently mined block. - [eth_call](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_call): Executes a message call without creating a transaction. Use pending to simulate against pre-confirmed state. - [eth_chainId](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId): Returns the chain ID of the current network. - [eth_estimateGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas): Estimates the gas required for a transaction. Use pending to estimate against pre-confirmed state. - [eth_feeHistory](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory): Returns historical base fees and priority fee percentiles for a range of blocks. - [eth_gasPrice](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice): Returns the current gas price in wei. - [eth_getBalance](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance): Returns the ETH balance of an account at a given block. Use the pending tag for 200ms pre-confirmed balances. - [eth_getBlockByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash): Returns block information by block hash. - [eth_getBlockByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber): Returns block information by number. On Flashblocks endpoints, the pending tag returns the live pre-confirmed block updated every ~200ms. - [eth_getBlockReceipts](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts): Returns all transaction receipts for a block. Use pending for pre-confirmed receipts. - [eth_getBlockTransactionCountByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash): Returns the number of transactions in a block by block hash. - [eth_getBlockTransactionCountByNumber](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber): Returns the number of transactions in a block by block number. - [eth_getCode](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode): Returns the contract bytecode at an address. Use pending to detect newly deployed contracts before block finalization. - [eth_getLogs](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs): Returns logs matching a filter. Use pending to query logs from pre-confirmed transactions. - [eth_getStorageAt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt): Returns the value of a storage slot at an address. Use pending for pre-confirmed storage reads. - [eth_getTransactionByBlockHashAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex): Returns a transaction by block hash and index position. - [eth_getTransactionByBlockNumberAndIndex](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex): Returns a transaction by block number and index position. - [eth_getTransactionByHash](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash): Returns a transaction by its hash. - [eth_getTransactionCount](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount): Returns the number of transactions sent from an address (the nonce). Use pending to get the pre-confirmed nonce. - [eth_getTransactionReceipt](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt): Returns the receipt for a mined transaction. Receipts are only available after a transaction is included in a block. - [eth_maxPriorityFeePerGas](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas): Returns the suggested EIP-1559 priority fee (tip) per gas. - [eth_sendRawTransaction](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction): Submits a pre-signed transaction to the network. All Base endpoints are Flashblocks-enabled, providing 200ms pre-confirmation. - [eth_subscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe): Creates a real-time WebSocket subscription for new blocks, logs, and pending transactions. - [eth_syncing](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing): Returns the sync status of the node. - [eth_unsubscribe](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe): Cancels an active WebSocket subscription. - [net_version](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/net_version): Returns the current network ID as a string. - [web3_clientVersion](https://docs.base.org/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion): Returns the current client version string. #### Flashblocks API - [Overview](https://docs.base.org/base-chain/api-reference/flashblocks-api/flashblocks-api-overview): Flashblocks-specific RPC methods, WebSocket subscriptions, and the infrastructure stream schema for Base pre-confirmations. - [base_transactionStatus](https://docs.base.org/base-chain/api-reference/flashblocks-api/base_transactionStatus): Checks whether a transaction is in the node mempool. Only available on Flashblocks endpoints. - [eth_simulateV1](https://docs.base.org/base-chain/api-reference/flashblocks-api/eth_simulateV1): Simulates one or more transaction bundles against the current pre-confirmed Flashblock state. Only available on Flashblocks endpoints. - [newFlashblockTransactions](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblockTransactions): Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints. - [newFlashblocks](https://docs.base.org/base-chain/api-reference/flashblocks-api/newFlashblocks): Subscribe to receive full Flashblock payload stream as each pre-confirmed block is built. Only available on Flashblocks WebSocket endpoints. - [pendingLogs](https://docs.base.org/base-chain/api-reference/flashblocks-api/pendingLogs): Subscribe to logs from pre-confirmed transactions matching an optional filter. Only available on Flashblocks WebSocket endpoints. #### Debug API - [debug_traceTransaction](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceTransaction): Returns the full EVM execution trace for a transaction. Requires a node with debug APIs enabled. - [debug_traceBlockByHash](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByHash): Returns EVM execution traces for all transactions in a block by block hash. - [debug_traceBlockByNumber](https://docs.base.org/base-chain/api-reference/debug-api/debug_traceBlockByNumber): Returns EVM execution traces for all transactions in a block by block number. ### Base Account SDK - [Base Account SDK](https://docs.base.org/sdks/base-account/overview): Add universal sign-in and one-tap USDC payments to any app with the Base Account SDK — the onchain account layer powering the Base App. #### Get Started - [Web (HTML + JS)](https://docs.base.org/sdks/base-account/quickstart/web): Integrate Sign in with Base and Base Pay using nothing but HTML and JavaScript. - [Web (Next.js)](https://docs.base.org/sdks/base-account/quickstart/web-react): Quickly add Sign in with Base and Base Pay to any Next.js app - [Mobile (React Native)](https://docs.base.org/sdks/base-account/quickstart/mobile-integration): Integrate Base Account into a React Native mobile app with sign-in and USDC payments. - [AI Tools for Base Account Developers](https://docs.base.org/sdks/base-account/quickstart/ai-tools-available-for-devs): AI tools available to Base Account developers, including MCP servers and prompt resources. #### Guides - [Authenticate Users](https://docs.base.org/sdks/base-account/guides/authenticate-users): Let a user click “Sign in with Base,” prove ownership of their onchain account, and give your server everything it needs to create a session – using open standards and no passwords - [Accept Payments](https://docs.base.org/sdks/base-account/guides/accept-payments): Add one-tap USDC payments to your app with the pay() helper and Base Pay Button. - [Accept Recurring Payments](https://docs.base.org/sdks/base-account/guides/accept-recurring-payments): Enable subscription-based revenue models with automatic USDC payments - [Sign and Verify Typed Data](https://docs.base.org/sdks/base-account/guides/sign-and-verify-typed-data): EIP-712 structured data signing and verification for Base Account - [Batch Transactions](https://docs.base.org/sdks/base-account/improve-ux/batch-transactions): Send multiple onchain calls in a single Base Account transaction to reduce multi-step flows to one click. - [Use Spend Permissions](https://docs.base.org/sdks/base-account/improve-ux/spend-permissions): Learn how to use Spend Permissions to allow a trusted spender to spend user assets - [Use Sub Accounts](https://docs.base.org/sdks/base-account/improve-ux/sub-accounts): Learn how to create and use Sub Accounts using Base Account SDK - [Sponsor Gas](https://docs.base.org/sdks/base-account/improve-ux/sponsor-gas/paymasters): Use Paymasters to sponsor your users' transactions - [Pay Gas in ERC20 Tokens](https://docs.base.org/sdks/base-account/improve-ux/sponsor-gas/erc20-paymasters): Base Account enables users to pay for gas in ERC20 tokens - [Migrate from Coinbase Wallet SDK](https://docs.base.org/sdks/base-account/guides/migration-guide): A guide to migrating from the Coinbase Wallet SDK to the Base Account SDK - [Popup Tips](https://docs.base.org/sdks/base-account/guides/tips/popup-tips): Practical tips for working with Base Account popups, including reliable triggering and common pitfalls. - [Transaction Simulation Data](https://docs.base.org/sdks/base-account/guides/tips/inspect-txn-simulation): Copy Base Account transaction simulation request and response data to inspect it in a text editor. #### Framework Integrations ##### Wagmi - [Setup](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/setup): Configure Wagmi with Base Account connector for your React application - [Sign in with Base](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/sign-in-with-base): Implement Base Account authentication using the proper SIWE flow with Wagmi - [Base Pay](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/base-pay): Accept USDC payments with Base Pay in your Wagmi-powered React application - [Basenames](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/basenames): Add support for Base names in your application using Wagmi and Viem - [Batch Transactions](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/batch-transactions): Send multiple onchain calls in a single transaction with Wagmi and Base Account - [Using Sub Accounts](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/sub-accounts): Implement Base Account Sub Accounts using Wagmi - [Other Use Cases](https://docs.base.org/sdks/base-account/framework-integrations/wagmi/other-use-cases): Access the Base Account provider from Wagmi for advanced functionality like Sub Accounts, Spend Permissions, and more ##### Privy - [Setup](https://docs.base.org/sdks/base-account/framework-integrations/privy/setup): Configure Privy with Base Account for your React application - [Auth (Sign in with Base)](https://docs.base.org/sdks/base-account/framework-integrations/privy/authentication): Manage user authentication with Privy and Base Account - [Wallet Actions](https://docs.base.org/sdks/base-account/framework-integrations/privy/wallet-actions): Sign messages, transactions, and typed data with Privy wallets - [Spend Permissions](https://docs.base.org/sdks/base-account/framework-integrations/privy/spend-permissions): Enable trusted spenders to move assets without additional signatures - [Sub Accounts](https://docs.base.org/sdks/base-account/framework-integrations/privy/sub-accounts): Create and manage app-specific wallet accounts with Base Account - [Coinbase Developer Platform](https://docs.base.org/sdks/base-account/framework-integrations/cdp): Build onchain apps supporting both Base Account and CDP Embedded Wallets - [RainbowKit](https://docs.base.org/sdks/base-account/framework-integrations/rainbowkit): Integrate Base Account with RainbowKit - [Reown](https://docs.base.org/sdks/base-account/framework-integrations/reown): Integrate Base Account with Reown AppKit for your React application - [thirdweb](https://docs.base.org/sdks/base-account/framework-integrations/thirdweb): Configure Thirdweb with Base Account for your React application #### Reference ##### Base Pay - [Pay](https://docs.base.org/sdks/base-account/reference/base-pay/pay): Send USDC payments on the Base network - [getPaymentStatus](https://docs.base.org/sdks/base-account/reference/base-pay/getPaymentStatus): Check the status of a payment transaction - [subscription.subscribe](https://docs.base.org/sdks/base-account/reference/base-pay/subscribe): Create USDC subscriptions with spend permissions on Base network - [subscription.getStatus](https://docs.base.org/sdks/base-account/reference/base-pay/getStatus): Check the status and details of an existing subscription - [subscription.charge](https://docs.base.org/sdks/base-account/reference/base-pay/charge): Execute subscription charges from your backend using CDP server wallets - [subscription.prepareCharge](https://docs.base.org/sdks/base-account/reference/base-pay/prepareCharge): Prepare transaction calls to charge a subscription (advanced) - [subscription.revoke](https://docs.base.org/sdks/base-account/reference/base-pay/revoke): Revoke subscriptions from your backend using CDP server wallets - [subscription.prepareRevoke](https://docs.base.org/sdks/base-account/reference/base-pay/prepareRevoke): Prepare transaction calls to revoke a subscription (advanced) - [subscription.getOrCreateSubscriptionOwnerWallet](https://docs.base.org/sdks/base-account/reference/base-pay/getOrCreateSubscriptionOwnerWallet): Create or retrieve a CDP smart wallet to act as subscription owner - [Subscriptions Overview](https://docs.base.org/sdks/base-account/reference/base-pay/subscriptions-overview): Accept recurring USDC payments using spend permissions on Base ##### Core - [createBaseAccountSDK](https://docs.base.org/sdks/base-account/reference/core/createBaseAccount): Create a Base Account SDK instance with EIP-1193 compliant provider - [getProvider](https://docs.base.org/sdks/base-account/reference/core/getProvider): Get an Ethereum provider instance from the Base Account SDK - [getCryptoKeyAccount](https://docs.base.org/sdks/base-account/reference/core/getCryptoKeyAccount): Retrieve the current crypto key account associated with the user's session - [generateKeyPair](https://docs.base.org/sdks/base-account/reference/core/generateKeyPair): Generate a new P256 key pair for use with Base Account - [getKeypair](https://docs.base.org/sdks/base-account/reference/core/getKeypair): Retrieve an existing P256 key pair from storage - [SDK Utilities](https://docs.base.org/sdks/base-account/reference/core/sdk-utilities): Core utility functions for key management and account access ###### Capabilities - [Capabilities Overview](https://docs.base.org/sdks/base-account/reference/core/capabilities/overview): Understand how to use Base Account capabilities with wallet_connect and wallet_sendCalls - [Atomic](https://docs.base.org/sdks/base-account/reference/core/capabilities/atomic): Ensures batched transactions are executed atomically and contiguously - [auxiliaryFunds](https://docs.base.org/sdks/base-account/reference/core/capabilities/auxiliaryFunds): Indicates wallet access to funds beyond on-chain balance verification - [dataCallback](https://docs.base.org/sdks/base-account/reference/core/capabilities/datacallback): Base Account allows you to collect personal information like email addresses, physical addresses, phone numbers, and names during transactions. - [dataSuffix](https://docs.base.org/sdks/base-account/reference/core/capabilities/dataSuffix): Append arbitrary data to transaction calldata for attribution tracking - [flowControl](https://docs.base.org/sdks/base-account/reference/core/capabilities/flowControl): Control transaction batch behavior after failed or reverted calls - [gasLimitOverride](https://docs.base.org/sdks/base-account/reference/core/capabilities/gasLimitOverride): Override gas limits for individual calls in a wallet_sendCalls batch - [paymasterService](https://docs.base.org/sdks/base-account/reference/core/capabilities/paymasterService): Enable sponsored transactions using ERC-4337 paymaster web services - [signInWithEthereum](https://docs.base.org/sdks/base-account/reference/core/capabilities/signInWithEthereum): Enable secure authentication using the Sign-In With Ethereum (SIWE) standard ###### Provider RPC Methods - [Provider RPC Methods](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/sdk-overview): The Base Account SDK provider (CoinbaseWalletProvider) — an EIP-1193 Ethereum provider and its request method. - [Overview](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/request-overview): The Base Account provider `request` method — how apps make Ethereum RPC requests to the wallet. - [Standard RPC Methods](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/standard-rpc-methods): Standard Ethereum RPC methods supported by Base Account - [coinbase_fetchPermission](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/coinbase_fetchPermission): Retrieve a single permission by its hash - [coinbase_fetchPermissions](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/coinbase_fetchPermissions): Retrieve permissions for a specific spender and chain, optionally filtered by account - [eth_accounts](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_accounts): Returns a list of addresses owned by the connected wallet without prompting user authorization - [eth_blockNumber](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_blockNumber): Get the number of the most recent block - [eth_chainId](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_chainId): Get the currently configured chain ID - [eth_coinbase](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_coinbase): Get the client coinbase address - [eth_estimateGas](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_estimateGas): Estimate gas needed for a transaction - [eth_feeHistory](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_feeHistory): Get historical gas fee information for a range of blocks - [eth_gasPrice](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_gasPrice): Get the current gas price - [eth_getBalance](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getBalance): Get the balance of an account at a given block - [eth_getBlockByHash](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockByHash): Get information about a block by block hash - [eth_getBlockByNumber](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockByNumber): Get information about a block by block number - [eth_getBlockTransactionCountByHash](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockTransactionCountByHash): Get the number of transactions in a block by block hash - [eth_getBlockTransactionCountByNumber](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getBlockTransactionCountByNumber): Get the number of transactions in a block by block number - [eth_getCode](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getCode): Get the bytecode at a given address - [eth_getLogs](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getLogs): Get an array of all logs matching a given filter object - [eth_getProof](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getProof): Get the Merkle proof for account and storage values - [eth_getStorageAt](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getStorageAt): Get the value from a storage position at a given address - [eth_getTransactionByBlockHashAndIndex](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionByBlockHashAndIndex): Get a transaction by block hash and transaction index position - [eth_getTransactionByBlockNumberAndIndex](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionByBlockNumberAndIndex): Get a transaction by block number and transaction index position - [eth_getTransactionByHash](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionByHash): Get transaction details by transaction hash - [eth_getTransactionCount](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionCount): Get the number of transactions sent from an address - [eth_getTransactionReceipt](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getTransactionReceipt): Get the receipt of a transaction by transaction hash - [eth_getUncleCountByBlockHash](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getUncleCountByBlockHash): Get the number of uncles in a block by block hash - [eth_getUncleCountByBlockNumber](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_getUncleCountByBlockNumber): Get the number of uncles in a block by block number - [eth_requestAccounts](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_requestAccounts): Request account access and authorization from the user - [eth_sendRawTransaction](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_sendRawTransaction): Submit a signed transaction to the network - [eth_sendTransaction](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_sendTransaction): Create and send a new transaction or message call - [eth_signTypedData_v4](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/eth_signTypedData_v4): Sign structured data according to EIP-712 - [personal_sign](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/personal_sign): Sign data using a specific account with Ethereum-specific signature format - [wallet_addEthereumChain](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_addEthereumChain): Add a new Ethereum chain to the wallet - [wallet_addSubAccount](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_addSubAccount): Add a sub account to the wallet - [wallet_connect](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_connect): Connect wallet and request account access - [wallet_getCallsStatus](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_getCallsStatus): Get the status of a call batch sent via wallet_sendCalls - [wallet_getCapabilities](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_getCapabilities): Get the wallet's supported capabilities for the given account - [wallet_getSubAccounts](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_getSubAccounts): Fetch the sub accounts of the wallet - [wallet_sendCalls](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_sendCalls): Submit a batch of calls to the wallet for execution - [wallet_switchEthereumChain](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_switchEthereumChain): Switch the wallet to a different Ethereum chain - [wallet_watchAsset](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/wallet_watchAsset): Add a token to the wallet's asset watchlist - [web3_clientVersion](https://docs.base.org/sdks/base-account/reference/core/provider-rpc-methods/web3_clientVersion): Get the current client version ##### Spend Permissions - [requestSpendPermission](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/requestSpendPermission): Create and sign an EIP-712 Spend Permission for a user's Base Account - [fetchPermission](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/fetchPermission): Retrieve a single Spend Permission by its hash - [fetchPermissions](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/fetchPermissions): Retrieve available Spend Permissions for an account and chain, optionally filtered by spender - [getPermissionStatus](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/getPermissionStatus): Gets the current status of a Spend Permission - [prepareSpendCallData](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/prepareSpendCallData): Prepare calldata to approve (if needed) and spend using a Spend Permission - [requestRevoke](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/requestRevoke): Request the user's approval to revoke a Spend Permission - [prepareRevokeCallData](https://docs.base.org/sdks/base-account/reference/spend-permission-utilities/prepareRevokeCallData): Construct calldata so your app's spender can revoke a Spend Permission without user interaction ##### Prolink - [createProlinkUrl](https://docs.base.org/sdks/base-account/reference/prolink-utilities/createProlinkUrl): Create a link with a prolink query parameter - [encodeProlink](https://docs.base.org/sdks/base-account/reference/prolink-utilities/encodeProlink): Encode a JSON-RPC request into a compressed, URL-safe prolink payload - [decodeProlink](https://docs.base.org/sdks/base-account/reference/prolink-utilities/decodeProlink): Decode a prolink payload back to a JSON-RPC request ##### UI Elements - [SignInWithBaseButton](https://docs.base.org/sdks/base-account/reference/ui-elements/sign-in-with-base-button): Pre-built React component for user authentication with Base Account - [BasePayButton](https://docs.base.org/sdks/base-account/reference/ui-elements/base-pay-button): Pre-built React component for accepting payments with Base Account - [Brand Guidelines](https://docs.base.org/sdks/base-account/reference/ui-elements/brand-guidelines): Design and brand guidelines for Sign in With Base and Base Pay buttons ##### Onchain Contracts - [Smart Wallet](https://docs.base.org/sdks/base-account/reference/onchain-contracts/smart-wallet): ERC-4337 compliant smart contract wallet that serves as the foundation for Base Account. - [Spend Permissions](https://docs.base.org/sdks/base-account/reference/onchain-contracts/spend-permissions): The Spend Permissions onchain contracts that let apps charge a Base Account on a recurring basis. - [Basenames](https://docs.base.org/sdks/base-account/reference/onchain-contracts/basenames): Decentralized naming system that allows users to register human-readable names (like 'alice.base.eth') on Base. #### Basenames - [Basename Transfer Guide](https://docs.base.org/sdks/base-account/basenames/basename-transfer): Step-by-step guide for Base App users to transfer their Basenames to new wallet addresses. - [Basenames FAQ](https://docs.base.org/sdks/base-account/basenames/basenames-faq): Frequently asked questions on basenames. #### More - [Telemetry · Base Account](https://docs.base.org/sdks/base-account/more/telemetry): Understanding Base Account's anonymous telemetry system and how to configure it. - [Gas Usage](https://docs.base.org/sdks/base-account/more/troubleshooting/usage-details/gas-usage): Why Base Accounts use more gas than traditional Ethereum accounts and what it costs users on L2. - [Popup Tips](https://docs.base.org/sdks/base-account/more/troubleshooting/usage-details/popups): Troubleshoot Base Account popup behavior and resolve common popup issues. - [Transaction Simulation Data](https://docs.base.org/sdks/base-account/more/troubleshooting/usage-details/simulations): Copy Base Account transaction simulation data to inspect requests and responses while debugging. - [Unsupported Calls](https://docs.base.org/sdks/base-account/more/troubleshooting/usage-details/unsupported-calls): RPC calls that Base Account does not support under EIP-1193 and ERC-4337, and what to use instead. - [Wallet Library Support](https://docs.base.org/sdks/base-account/more/troubleshooting/usage-details/wallet-library-support): Popular wallet libraries and their support status for Base Account. - [Contribute to the Base Account Docs](https://docs.base.org/sdks/base-account/contribute/contribute-to-base-account-docs): How to contribute new features, content, and updates to the Base Account documentation while keeping it consistent. - [Security and Bug Bounty](https://docs.base.org/sdks/base-account/contribute/security-and-bug-bounty): Base Account security audits and how to report vulnerabilities through the bug bounty program. ### Base Verify API - [Base Verify API](https://docs.base.org/sdks/base-verify/overview): Use Base Verify APIs and contracts to prove verified account ownership, prevent duplicate participation, and enforce eligibility policies. - [Verify Social Accounts](https://docs.base.org/sdks/base-verify/verify-social-accounts): Use Base Verify to let users prove ownership of verified accounts (X, Coinbase, Instagram, TikTok) without sharing credentials, enabling Sybil-resistant airdrops, gated content, and identity-based rewards. - [Verify Users Onchain](https://docs.base.org/sdks/base-verify/verify-users-onchain): Enforce Sybil resistance and policy gating inside any Base contract. Base Verify signs a short-lived verification your contract checks in the same transaction as a claim, deposit, or vote, so one real identity counts once and only wallets that meet your bar can participate. ### Base MCP - [Base MCP](https://docs.base.org/agents/overview): Give your AI assistant a wallet. Base MCP connects any AI to your Base Account. Check balances, send funds, swap tokens, sign messages, and pay with x402. - [Quickstart](https://docs.base.org/agents/quickstart): Connect Base MCP to your agent in under 5 minutes #### Guides - [Check Balance & Portfolio](https://docs.base.org/agents/guides/check-balance): View your token balances, portfolio value, and wallet details using Base MCP - [Send Tokens](https://docs.base.org/agents/guides/send-tokens): Send native tokens or ERC-20 tokens to an address, ENS name, basename, or cb.id using Base MCP - [Swap Tokens](https://docs.base.org/agents/guides/swap-tokens): Swap between tokens on supported mainnet chains using Base MCP - [View Transaction History](https://docs.base.org/agents/guides/view-history): Browse past transactions, filter by asset, and paginate through your onchain history using Base MCP - [Sign Messages](https://docs.base.org/agents/guides/sign-messages): Sign EIP-712 typed data and plain messages with your Base Account using Base MCP - [Execute Contract Calls](https://docs.base.org/agents/guides/batch-calls): Batch multiple contract interactions into a single user approval using send_calls and Base MCP - [Make x402 Payments](https://docs.base.org/agents/guides/x402-payments): Pay for x402-enabled API requests with USDC using Base MCP #### Skill & Plugins - [Overview](https://docs.base.org/agents/plugins/index): How the Base MCP Skill works and how plugins extend it ##### Native Plugins - [Overview](https://docs.base.org/agents/plugins/native/index): Plugins authored by the Base team that ship with the Base MCP skill - [Aerodrome](https://docs.base.org/agents/plugins/native/aerodrome): Token swaps and basic-pool liquidity on Aerodrome (the leading DEX on Base) via sugar-sdk + Base MCP. CLI-only. - [Avantis](https://docs.base.org/agents/plugins/native/avantis): Perpetual futures on Base via the Avantis tx-builder. Reads work on every surface; trade-building uses a CLI harness or the Avantis web UI. - [Balancer](https://docs.base.org/agents/plugins/native/balancer): Swaps and liquidity on Balancer through shell-driven API reads, SDK calldata building, and Base MCP send_calls. - [Bankr](https://docs.base.org/agents/plugins/native/bankr): Discover the latest token launches on Base via the Bankr API and buy them with Base MCP's swap tool. - [Bitrefill](https://docs.base.org/agents/plugins/native/bitrefill): Buy gift cards, mobile top-ups, and travel eSIMs with USDC on Base through Bitrefill. - [Brickken](https://docs.base.org/agents/plugins/native/brickken): ERC-8004 identity, reputation, and agent-token operations through Brickken with Base MCP x402 approval. - [Clawnch](https://docs.base.org/agents/plugins/native/clawnch): Discover Base token launches, buy launched tokens, and prepare non-custodial token launches on Clawnch. - [Flaunch](https://docs.base.org/agents/plugins/native/flaunch): Prepare Base token launches through Flaunch and trade deployed Flaunch tokens with Base MCP. - [GMGN](https://docs.base.org/agents/plugins/native/gmgn): Token swap quotes, gas-price tiers, and trending-token market intelligence on Base via GMGN. - [Hydrex](https://docs.base.org/agents/plugins/native/hydrex): Swaps and concentrated-liquidity position management on Hydrex via prepare-server calldata and Base MCP send_calls. - [KyberSwap](https://docs.base.org/agents/plugins/native/kyberswap): Best-rate DEX aggregation through KyberSwap routes and Base MCP send_calls across supported EVM chains. - [Moonwell](https://docs.base.org/agents/plugins/native/moonwell): Compound v2 lending on Base and Optimism via the Moonwell HTTP API - [Morpho](https://docs.base.org/agents/plugins/native/morpho): Lending and vaults on Base via Morpho CLI, with Morpho MCP fallback for chat-only surfaces. - [o1.exchange](https://docs.base.org/agents/plugins/native/o1-exchange): Token swaps on o1.exchange through HTTP order building, unsigned transaction decoding, and Base MCP send_calls. - [OpenSea](https://docs.base.org/agents/plugins/native/opensea): NFT marketplace trading, token swaps, and drops or minting through OpenSea API or CLI and Base MCP send_calls. - [Printr](https://docs.base.org/agents/plugins/native/printr): Launch cross-chain tokens through Printr's HTTP API and Base MCP send_calls. - [Uniswap](https://docs.base.org/agents/plugins/native/uniswap): Token swaps and V2/V3/V4 LP positions on Base via the Uniswap trade and liquidity APIs - [Venice](https://docs.base.org/agents/plugins/native/venice): Private AI inference through the Venice API with optional Base x402 wallet funding through Base MCP. - [Virtuals](https://docs.base.org/agents/plugins/native/virtuals): Create and operate Virtuals (ACP) AI agents — payment cards, email identities, agent management — signed in via Base MCP. - [YO](https://docs.base.org/agents/plugins/native/yo): View YO vaults, check positions, deposit, and request redeems through onchain reads and Base MCP send_calls. - [Custom Plugins](https://docs.base.org/agents/plugins/custom-plugins): Build your own plugin that produces unsigned calldata and executes through Base MCP's send_calls ## Upgrades ### Overview - [Upgrades](https://docs.base.org/upgrades/overview): Track Base network upgrades, activation dates, and the protocol changes included in each release. - [Configuration Changelog](https://docs.base.org/base-chain/network-information/configuration-changelog): A log of configuration changes to the Base networks. ### Denim - [200ms Native Blocks](https://docs.base.org/upgrades/denim/200ms-blocks): Specification for Denim's canonical 200ms blocks, including BaseTime, derivation, validation, and RPC behavior. - [Migrate From Flashblocks](https://docs.base.org/upgrades/denim/migrate-from-flashblocks): Migrate your Flashblocks integration to 200ms blocks. ### Cobalt - [Overview](https://docs.base.org/upgrades/cobalt/overview): Cobalt adds native account abstraction with EIP-8130, makes improvements to the B20 token standard, and introduces dynamic node upgrades. - [Native Account Abstraction](https://docs.base.org/upgrades/cobalt/eip-8130): Build with native account abstraction on Base. EIP-8130 smart accounts send ordinary transactions, with no bundlers or relays. - [Dynamic Upgrades](https://docs.base.org/upgrades/cobalt/dynamic-upgrades): An Ethereum smart contract stores upgrade timestamps for Base nodes, allowing forks to activate at the scheduled time with no client restart. - [B20: Beryl to Cobalt Migration](https://docs.base.org/base-chain/specs/reference/b20/changelog/02-cobalt-b20asset-multiplier): B20 Asset multiplier becomes ERC-8056 conformant at Cobalt, with a scheduled multiplier setter for corporate actions. Every Beryl selector stays dialable. - [B20: Seize Surface and burnBlocked Deprecation](https://docs.base.org/base-chain/specs/reference/b20/changelog/02-cobalt-b20-seize): The B20 seize surface at Cobalt and the deprecation of burnBlocked. Migration notes for teams integrated against the Beryl seize path. - [PolicyRegistry: Composite Policies (UNION / INTERSECT)](https://docs.base.org/base-chain/specs/reference/b20/changelog/02-cobalt-policyregistry-composite-policy): Composite policies (UNION / INTERSECT) added to the PolicyRegistry at Cobalt. Combine child policies into one authorization check. ### Beryl - [Overview](https://docs.base.org/upgrades/beryl/overview): Beryl makes Base a first-class issuance platform with B20 tokens, more capital efficient with reduced withdrawal delays, and more scalable with Reth V2. - [Reth V2](https://docs.base.org/upgrades/beryl/reth-v2): Ships Reth V2 as the reference execution client for Base nodes, delivering significant sync speed and throughput improvements. - [Faster Withdrawals](https://docs.base.org/upgrades/beryl/reducing-canonical-withdrawal-delay): The single-proof dispute game finalization window is reduced from 7 days to 5 days. The dual-proof fast path (TEE + ZK) introduced in Azul remains at 1 day. - [B20 Native Token Standard](https://docs.base.org/upgrades/beryl/b20): Learn how B20, Base's native token standard, serves stablecoin issuers, real-world asset (RWA) and equity issuers, and long-tail token creators. ### Azul - [Overview](https://docs.base.org/upgrades/azul/overview): Azul is Base's first independent network upgrade. It focuses on increasing security and decentralization, accelerating the path to 1 gigagas/s, and improving developer experience. - [Node Upgrade Guide](https://docs.base.org/upgrades/azul/node-upgrade): Migrate your Base node to base-reth-node and base-consensus for Azul. - [Execution Engine](https://docs.base.org/upgrades/azul/exec-engine): Execution engine changes in the Azul hardfork, including the EIP-7825 transaction gas limit cap and secp256r1 precompile cost updates. - [Proof System](https://docs.base.org/upgrades/azul/proofs): Specification of the Azul multi-proof system, replacing the single output proposer with an AggregateVerifier contract for L2 checkpoint security. ### Optimism #### Jovian - [Jovian](https://docs.base.org/upgrades/jovian/overview): Overview of the Jovian hardfork, introducing a configurable minimum base fee and a DA footprint gas scalar for improved fee market stability. - [Jovian: Execution Engine](https://docs.base.org/upgrades/jovian/exec-engine): Execution engine changes in the Jovian upgrade, introducing a configurable minimum base fee via SystemConfig to reduce priority-fee auction durations. - [Derivation](https://docs.base.org/upgrades/jovian/derivation): Derivation changes in the Jovian upgrade, specifying activation block rules and gas computation behavior at hardfork activation. - [L1 Block Attributes](https://docs.base.org/upgrades/jovian/l1-attributes): L1 attributes transaction changes in the Jovian upgrade, extending calldata to include the DA footprint gas scalar. - [Jovian: System Config](https://docs.base.org/upgrades/jovian/system-config): SystemConfig changes in the Jovian upgrade, adding a minimum base fee configuration variable for the EIP-1559 fee market. #### Isthmus - [Isthmus](https://docs.base.org/upgrades/isthmus/overview): Overview of the Isthmus hardfork, incorporating Ethereum Pectra EIPs and introducing the operator fee mechanism for sequencer revenue. - [L2 Execution Engine](https://docs.base.org/upgrades/isthmus/exec-engine): Execution engine changes in the Isthmus upgrade, including L2ToL1MessagePasser storage root in block headers and operator fee collection. - [Isthmus L2 Chain Derivation Changes](https://docs.base.org/upgrades/isthmus/derivation): Derivation changes in the Isthmus upgrade, specifying network upgrade automation transactions executed at hardfork activation. - [L1 Block Attributes](https://docs.base.org/upgrades/isthmus/l1-attributes): L1 attributes transaction changes in the Isthmus upgrade, extending calldata to include operator fee scalar and constant parameters. - [Predeploys](https://docs.base.org/upgrades/isthmus/predeploys): Predeploy changes in the Isthmus upgrade, including updates to L1Block and the new OperatorFeeVault contract. - [Isthmus: System Config](https://docs.base.org/upgrades/isthmus/system-config): SystemConfig changes in the Isthmus upgrade, adding operatorFeeScalar and operatorFeeConstant configuration variables. #### Holocene - [Holocene](https://docs.base.org/upgrades/holocene/overview): Overview of the Holocene hardfork, introducing dynamic EIP-1559 parameters configurable via SystemConfig and stricter block derivation rules. - [L2 Execution Engine](https://docs.base.org/upgrades/holocene/exec-engine): Execution engine changes in the Holocene upgrade, enabling dynamic EIP-1559 parameters encoded in block headers and configured via SystemConfig. - [Holocene L2 Chain Derivation Changes](https://docs.base.org/upgrades/holocene/derivation): Derivation changes in the Holocene upgrade, introducing stricter pipeline rules that simplify derivation and improve fault proof worst-case behavior. - [System Config](https://docs.base.org/upgrades/holocene/system-config): SystemConfig changes in the Holocene upgrade, adding dynamic EIP-1559 parameter configuration via ConfigUpdate events. #### Granite - [Granite](https://docs.base.org/upgrades/granite/overview): Overview of the Granite hardfork, adding bn256Pairing precompile input size restrictions and CHANNEL_TIMEOUT parameter changes. - [L2 Execution Engine](https://docs.base.org/upgrades/granite/exec-engine): Execution engine changes in the Granite upgrade, restricting bn256Pairing precompile input size to prevent unbounded gas consumption. - [Granite L2 Chain Derivation Changes](https://docs.base.org/upgrades/granite/derivation): Derivation changes in the Granite upgrade, updating the CHANNEL_TIMEOUT protocol parameter. #### Fjord - [Fjord](https://docs.base.org/upgrades/fjord/overview): Overview of the Fjord hardfork, introducing FastLZ-based L1 fee estimation, the RIP-7212 secp256r1 precompile, and brotli channel compression. - [L2 Execution Engine](https://docs.base.org/upgrades/fjord/exec-engine): Execution engine changes in the Fjord upgrade, replacing the L1 cost fee estimator with a FastLZ-based compression model. - [Fjord L2 Chain Derivation Changes](https://docs.base.org/upgrades/fjord/derivation): Derivation changes in the Fjord upgrade, updating protocol parameters for max sequencer drift, channel bank size, and adding brotli compression support. - [Predeploys](https://docs.base.org/upgrades/fjord/predeploys): Predeploy changes in the Fjord upgrade, adding FastLZ fee computation constants to the GasPriceOracle contract. #### Ecotone - [Ecotone](https://docs.base.org/upgrades/ecotone/overview): Overview of the Ecotone hardfork, integrating Ethereum Dencun changes including EIP-4844 blob transactions and EIP-4788 beacon block roots. - [Derivation](https://docs.base.org/upgrades/ecotone/derivation): Derivation changes in the Ecotone upgrade, extending the retrieval stage to support EIP-4844 blobs as an additional data availability source. - [Ecotone L1 Attributes](https://docs.base.org/upgrades/ecotone/l1-attributes): L1 attributes transaction changes in the Ecotone upgrade, updating calldata format to support the new blob-based fee calculation model. #### Delta - [Delta](https://docs.base.org/upgrades/delta/overview): Overview of the Delta hardfork, introducing span batches to reduce L1 data costs by compressing multiple L2 blocks into single batcher transactions. - [Span-Batches](https://docs.base.org/upgrades/delta/span-batches): Specification of span batches introduced in Delta, a new batch format that compresses sequences of L2 blocks for more efficient L1 data posting. - [Canyon](https://docs.base.org/upgrades/canyon/overview): Overview of the Canyon hardfork, bringing Ethereum Shanghai EIPs (EIP-3651, EIP-3855, EIP-3860) to the Base execution layer. ## Optional - [Base MCP server](https://docs.base.org/mcp): Direct AI access to Base documentation - [Base skills](https://github.com/base/skills): Installable agent skills (`npx skills add base/base-skills`) - [Index (llms.txt)](https://docs.base.org/llms.txt): Navigation index without the full-context extras