# Abstract > Abstract is an Ethereum Layer 2 blockchain built for consumer crypto. It provides native account abstraction, a global smart contract wallet (AGW), and an app discovery portal designed to make onchain experiences as simple as web2 for end users and as powerful as possible for builders. ## AI Agent Resources - [SKILL.md](https://docs.abs.xyz/SKILL.md): Opinionated playbook for AI coding agents default stack choices, integration patterns, and step-by-step procedures for building on Abstract. - [Full Documentation](https://docs.abs.xyz/llms-full.txt): Complete inline documentation with code examples and API reference. ## Core Concepts - [What is Abstract?](https://docs.abs.xyz/what-is-abstract): A high-level overview of what Abstract is and how it works. - [Layer 2s](https://docs.abs.xyz/how-abstract-works/architecture/layer-2s): What a layer 2 is and how Abstract inherits the security properties of Ethereum as a ZK rollup. - [Transaction Lifecycle](https://docs.abs.xyz/how-abstract-works/architecture/transaction-lifecycle): How transactions are processed on Abstract and finalized on Ethereum. - [Native Account Abstraction](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/overview): How native account abstraction works on Abstract every account is a smart contract. - [Abstract Global Wallet](https://docs.abs.xyz/abstract-global-wallet/overview): The smart contract wallet powering the Abstract ecosystem. ## Getting Started - [Connect to Abstract](https://docs.abs.xyz/connect-to-abstract): Add Abstract to your wallet or development environment. - [Start Building](https://docs.abs.xyz/build-on-abstract/getting-started): Learn how to start developing smart contracts and applications on Abstract. - [AGW Getting Started](https://docs.abs.xyz/abstract-global-wallet/getting-started): Integrate Abstract Global Wallet into your application. - [Example Repositories](https://github.com/Abstract-Foundation/examples): Starter templates and reference implementations. - [AGW Reusable Components](https://build.abs.xyz): Pre-built shadcn/ui-compatible React components for common crypto patterns. ## Abstract Global Wallet - Client Actions - [deployContract](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/deployContract): Deploy a smart contract from the connected Abstract Global Wallet. - [sendTransaction](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/sendTransaction): Send a transaction using the connected Abstract Global Wallet. - [sendCalls](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/sendCalls): Send a batch of transactions in a single call. - [writeContract](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/writeContract): Call functions on a smart contract. - [signMessage](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/signMessage): Sign messages using the connected Abstract Global Wallet. - [signTransaction](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/signTransaction): Sign a transaction before broadcasting. - [getSmartAccountAddressFromInitialSigner](https://docs.abs.xyz/abstract-global-wallet/agw-client/getSmartAccountAddressFromInitialSigner): Deterministically derive a wallet address from the initial signer. - [transformEIP1193Provider](https://docs.abs.xyz/abstract-global-wallet/agw-client/transformEIP1193Provider): Transform an EIP1193 provider into an Abstract Global Wallet client. ## Abstract Global Wallet - Session Keys - [Session Keys Overview](https://docs.abs.xyz/abstract-global-wallet/session-keys/overview): How to create and use session keys with Abstract Global Wallet. - [Going to Production](https://docs.abs.xyz/abstract-global-wallet/session-keys/going-to-production): Use session keys in production on Abstract Mainnet. - [createSession](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/createSession): Create a session key for the connected wallet. - [createSessionClient](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/createSessionClient): Create a new SessionClient without an existing AbstractClient. - [getSessionHash](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/getSessionHash): Get the hash of a session key configuration. - [getSessionStatus](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/getSessionStatus): Check the current status of a session key from the validator contract. - [revokeSessions](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/revokeSessions): Revoke session keys from the connected wallet. - [toSessionClient](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/toSessionClient): Create an AbstractClient using a session key. ## Abstract Global Wallet - React - [AbstractWalletProvider](https://docs.abs.xyz/abstract-global-wallet/agw-react/AbstractWalletProvider): Wrapper component that provides Abstract Global Wallet context to your application. - [useLoginWithAbstract](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useLoginWithAbstract): Hook for signing in and signing out users. - [useAbstractClient](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useAbstractClient): Hook for creating and managing an Abstract client instance. - [useWriteContractSponsored](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useWriteContractSponsored): Hook for interacting with smart contracts using paymasters to cover gas fees. - [useCreateSession](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useCreateSession): Hook for creating a session key. - [useRevokeSessions](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useRevokeSessions): Hook for revoking session keys. - [useGlobalWalletSignerAccount](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useGlobalWalletSignerAccount): Hook to get the approved signer of the connected wallet. - [useGlobalWalletSignerClient](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useGlobalWalletSignerClient): Hook to get a wallet client instance of the approved signer. - [Native Integration](https://docs.abs.xyz/abstract-global-wallet/agw-react/native-integration): Integrate Abstract Global Wallet with React directly. ## AGW Third-Party Integrations - [Privy](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-privy): Integrate Abstract Global Wallet into an existing Privy application. - [ConnectKit](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-connectkit): Integrate Abstract Global Wallet with ConnectKit. - [Dynamic](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-dynamic): Integrate Abstract Global Wallet with Dynamic. - [RainbowKit](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-rainbowkit): Integrate Abstract Global Wallet with RainbowKit. - [Reown](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-reown): Integrate Abstract Global Wallet with Reown. - [Thirdweb](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-thirdweb): Integrate Abstract Global Wallet with Thirdweb. - [Using Crossmint](https://docs.abs.xyz/abstract-global-wallet/fiat-on-ramp/using-crossmint): Allow users to purchase on-chain items using fiat currencies via Crossmint. ## Smart Contracts - Foundry - [Get Started](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/get-started): Deploy your first smart contract using Foundry. - [Installation](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/installation): Set up a new Foundry project on Abstract using foundry-zksync. - [Compiling Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/compiling-contracts): Compile smart contracts using Foundry on Abstract. - [Deploying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/deploying-contracts): Deploy smart contracts on Abstract using Foundry. - [Testing Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/testing-contracts): Test smart contracts using Foundry. - [Verifying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/verifying-contracts): Verify smart contracts on Abstract using Foundry. ## Smart Contracts - Hardhat - [Get Started](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/get-started): Deploy your first smart contract using Hardhat. - [Installation](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/installation): Set up a new Hardhat project on Abstract using hardhat-zksync. - [Compiling Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/compiling-contracts): Compile smart contracts using Hardhat on Abstract. - [Deploying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/deploying-contracts): Deploy smart contracts on Abstract using Hardhat. - [Testing Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/testing-contracts): Test smart contracts using Hardhat. - [Verifying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/verifying-contracts): Verify smart contracts on Abstract using Hardhat. ## Application SDKs - [Viem](https://docs.abs.xyz/build-on-abstract/applications/viem): Use the Viem library to build applications on Abstract. - [Ethers](https://docs.abs.xyz/build-on-abstract/applications/ethers): Use zksync-ethers to build applications on Abstract. - [Thirdweb](https://docs.abs.xyz/build-on-abstract/applications/thirdweb): Use thirdweb to build applications on Abstract. - [ZKsync CLI](https://docs.abs.xyz/build-on-abstract/zksync-cli): Use the ZKsync CLI to interact with Abstract or a local Abstract node. ## Architecture - [L1 Rollup Contracts](https://docs.abs.xyz/how-abstract-works/architecture/components/l1-rollup-contracts): Smart contracts deployed on L1 that enable Abstract to inherit Ethereum's security. - [Sequencer](https://docs.abs.xyz/how-abstract-works/architecture/components/sequencer): The sequencer component of Abstract. - [Prover & Verifier](https://docs.abs.xyz/how-abstract-works/architecture/components/prover-and-verifier): The prover and verifier components of Abstract. - [How AGW Works](https://docs.abs.xyz/abstract-global-wallet/architecture): How Abstract Global Wallet works under the hood. ## EVM Differences - [Overview](https://docs.abs.xyz/how-abstract-works/evm-differences/overview): Key differences between Abstract and Ethereum. - [Contract Deployment](https://docs.abs.xyz/how-abstract-works/evm-differences/contract-deployment): How contract deployment differs on Abstract. - [EVM Opcodes](https://docs.abs.xyz/how-abstract-works/evm-differences/evm-opcodes): How Abstract differs from Ethereum's EVM opcodes. - [EVM Interpreter](https://docs.abs.xyz/how-abstract-works/evm-differences/evm-interpreter): Deploy EVM equivalent smart contracts on Abstract. - [Gas Fees](https://docs.abs.xyz/how-abstract-works/evm-differences/gas-fees): How gas fees work on Abstract. - [Libraries](https://docs.abs.xyz/how-abstract-works/evm-differences/libraries): Differences between Abstract and Ethereum libraries. - [Nonces](https://docs.abs.xyz/how-abstract-works/evm-differences/nonces): How Abstract differs from Ethereum's nonces. - [Precompiles](https://docs.abs.xyz/how-abstract-works/evm-differences/precompiles): How Abstract differs from Ethereum's precompiled smart contracts. - [Best Practices](https://docs.abs.xyz/how-abstract-works/evm-differences/best-practices): Best practices for building smart contracts on Abstract. ## Native Account Abstraction - [Transaction Flow](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/transaction-flow): How Abstract processes transactions step-by-step using native account abstraction. - [Smart Contract Wallets](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/smart-contract-wallets): How smart contract wallets are built following the IAccount standard. - [Paymasters](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/paymasters): How paymasters are built following the IPaymaster standard on Abstract. - [Signature Validation](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/signature-validation): Best practices for signature validation when building smart contract accounts. - [Handling Nonces](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/handling-nonces): Best practices for handling nonces when building smart contract accounts. ## System Contracts - [Overview](https://docs.abs.xyz/how-abstract-works/system-contracts/overview): How Abstract implements system contracts with special privileges. - [Bootloader](https://docs.abs.xyz/how-abstract-works/system-contracts/bootloader): The Bootloader that processes all transactions on Abstract. - [List of System Contracts](https://docs.abs.xyz/how-abstract-works/system-contracts/list-of-system-contracts): All system contracts that Abstract implements. - [Using System Contracts](https://docs.abs.xyz/how-abstract-works/system-contracts/using-system-contracts): How to use system contracts on Abstract. ## Ecosystem Services - [Bridges](https://docs.abs.xyz/ecosystem/bridges): Move funds from other chains to Abstract and vice versa. - [Paymasters](https://docs.abs.xyz/ecosystem/paymasters): Paymaster solutions available on Abstract. - [Oracles](https://docs.abs.xyz/ecosystem/oracles): Oracle and VRF services available on Abstract. - [Data & Indexing](https://docs.abs.xyz/ecosystem/indexers): Indexers and APIs available on Abstract. - [RPC Providers](https://docs.abs.xyz/ecosystem/rpc-providers): RPC providers available on Abstract. - [Automation](https://docs.abs.xyz/ecosystem/automation): Automation solutions available on Abstract. - [Interoperability](https://docs.abs.xyz/ecosystem/interoperability): Interoperability solutions available on Abstract. - [Multi-Sig Wallets](https://docs.abs.xyz/ecosystem/multi-sig-wallets): Multi-signature wallets on Abstract. - [Relayers](https://docs.abs.xyz/ecosystem/relayers): Relayer solutions available on Abstract. - [Token Distribution](https://docs.abs.xyz/ecosystem/token-distribution): Token distribution providers available on Abstract. ## Tooling - [Block Explorers](https://docs.abs.xyz/tooling/block-explorers): View transactions, blocks, batches, and more on Abstract block explorers. - [Bridges](https://docs.abs.xyz/tooling/bridges): Bridge assets between Abstract and Ethereum. - [Deployed Contracts](https://docs.abs.xyz/tooling/deployed-contracts): Commonly used contracts deployed on Abstract. - [Faucets](https://docs.abs.xyz/tooling/faucets): Get testnet funds for development on Abstract. ## Infrastructure - [Node Introduction](https://docs.abs.xyz/infrastructure/nodes/introduction): How Abstract Nodes work at a high level. - [Node Components](https://docs.abs.xyz/infrastructure/nodes/components): Components of an Abstract node and how they work together. - [Running a Node](https://docs.abs.xyz/infrastructure/nodes/running-a-node): Run your own Abstract node. ## Cookbook - [Random Number Generation](https://docs.abs.xyz/cookbook/random-number-generation): Build smart contracts that use randomness to determine outcomes. ## Products - [Abstract Portal](https://portal.abs.xyz): Curated app discovery layer. Streaks, XP, and ecosystem incentives drive engagement and retention across Abstract-native apps. - [Abstract Bridge](https://bridge.abs.xyz): Bridge assets from Ethereum and other networks to Abstract. - [Block Explorer (Abscan)](https://abscan.org): Transaction explorer and contract verification. - [Partners](https://abs.xyz/partners): Infrastructure partners including Alchemy, QuickNode, LayerZero, Privy, The Graph, Pyth, MoonPay, and others. - [Builder Incubator](https://cubeinc.notion.site/25adeecd6f6e80e5b744dc8d0a77132e): Apply to build on Abstract with support from Cube, Inc. - [Blog](https://blog.abs.xyz): Product updates, ecosystem news, and educational content about consumer crypto. - [FAQ](https://docs.abs.xyz/abstract-global-wallet/frequently-asked-questions): Answers to common questions about Abstract Global Wallet. ## Optional - [Twitter (@AbstractChain)](https://x.com/AbstractChain): Main account milestones, thought leadership, and announcements. - [Twitter (@Abstract_Eco)](https://x.com/Abstract_Eco): Ecosystem account builder spotlights, community engagement, app highlights. - [Discord](https://discord.com/invite/abstractchain): Community and builder support. - [GitHub](https://github.com/Abstract-Foundation): Open source repositories and SDKs. - [YouTube](https://www.youtube.com/@AbstractBlockchain): Video content and tutorials. - [Events (Luma)](https://lu.ma/abstractchain): Upcoming Abstract community events. - [Privacy Policy](https://abs.xyz/privacy-policy): Abstract's privacy policy. - [Terms of Service](https://abs.xyz/terms-of-service): Abstract's terms of service.