# Abstract ## Docs - [deployContract](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/deployContract.md): Function to deploy a smart contract from the connected Abstract Global Wallet. - [sendCalls](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/sendCalls.md): Function to send a batch of transactions in a single call using the connected Abstract Global Wallet. - [sendTransaction](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/sendTransaction.md): Function to send a transaction using the connected Abstract Global Wallet. - [signMessage](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/signMessage.md): Function to sign messages using the connected Abstract Global Wallet. - [signTransaction](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/signTransaction.md): Function to sign a transaction using the connected Abstract Global Wallet. - [writeContract](https://docs.abs.xyz/abstract-global-wallet/agw-client/actions/writeContract.md): Function to call functions on a smart contract using the connected Abstract Global Wallet. - [getSmartAccountAddress FromInitialSigner](https://docs.abs.xyz/abstract-global-wallet/agw-client/getSmartAccountAddressFromInitialSigner.md): Function to deterministically derive the deployed Abstract Global Wallet smart account address from the initial signer account. - [createSession](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/createSession.md): Function to create a session key for the connected Abstract Global Wallet. - [createSessionClient](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/createSessionClient.md): Function to create a new SessionClient without an existing AbstractClient. - [getSessionHash](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/getSessionHash.md): Function to get the hash of a session key configuration. - [getSessionStatus](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/getSessionStatus.md): Function to 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.md): Function to revoke session keys from the connected Abstract Global Wallet. - [toSessionClient](https://docs.abs.xyz/abstract-global-wallet/agw-client/session-keys/toSessionClient.md): Function to create an AbstractClient using a session key. - [transformEIP1193Provider](https://docs.abs.xyz/abstract-global-wallet/agw-client/transformEIP1193Provider.md): Function to transform an EIP1193 provider into an Abstract Global Wallet client. - [getLinkedAccounts](https://docs.abs.xyz/abstract-global-wallet/agw-client/wallet-linking/getLinkedAccounts.md): Function to get all Ethereum wallets linked to an Abstract Global Wallet. - [getLinkedAgw](https://docs.abs.xyz/abstract-global-wallet/agw-client/wallet-linking/getLinkedAgw.md): Function to get the linked Abstract Global Wallet for an Ethereum Mainnet address. - [linkToAgw](https://docs.abs.xyz/abstract-global-wallet/agw-client/wallet-linking/linkToAgw.md): Function to link an Ethereum Mainnet wallet to an Abstract Global Wallet. - [Wallet Linking](https://docs.abs.xyz/abstract-global-wallet/agw-client/wallet-linking/overview.md): Link wallets from Ethereum Mainnet to the Abstract Global Wallet. - [Reading Wallet Links in Solidity](https://docs.abs.xyz/abstract-global-wallet/agw-client/wallet-linking/reading-links-in-solidity.md): How to read links between Ethereum wallets and Abstract Global Wallets in Solidity. - [AbstractWalletProvider](https://docs.abs.xyz/abstract-global-wallet/agw-react/AbstractWalletProvider.md): The AbstractWalletProvider component is a wrapper component that provides the Abstract Global Wallet context to your application, allowing you to use hooks and components. - [useAbstractClient](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useAbstractClient.md): Hook for creating and managing an Abstract client instance. - [useCreateSession](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useCreateSession.md): Hook for creating a session key. - [useGlobalWalletSignerAccount](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useGlobalWalletSignerAccount.md): Hook to get the approved signer of the connected Abstract Global Wallet. - [useGlobalWalletSignerClient](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useGlobalWalletSignerClient.md): Hook to get a wallet client instance of the approved signer of the connected Abstract Global Wallet. - [useLoginWithAbstract](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useLoginWithAbstract.md): Hook for signing in and signing out users with Abstract Global Wallet. - [useRevokeSessions](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useRevokeSessions.md): Hook for revoking session keys. - [useWriteContractSponsored](https://docs.abs.xyz/abstract-global-wallet/agw-react/hooks/useWriteContractSponsored.md): Hook for interacting with smart contracts using paymasters to cover gas fees. - [ConnectKit](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-connectkit.md): Learn how to integrate Abstract Global Wallet with ConnectKit. - [Dynamic](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-dynamic.md): Learn how to integrate Abstract Global Wallet with Dynamic. - [Privy](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-privy.md): Learn how to integrate Abstract Global Wallet into an existing Privy application - [RainbowKit](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-rainbowkit.md): Learn how to integrate Abstract Global Wallet with RainbowKit. - [Reown](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-reown.md): Learn how to integrate Abstract Global Wallet with Reown. - [Thirdweb](https://docs.abs.xyz/abstract-global-wallet/agw-react/integrating-with-thirdweb.md): Learn how to integrate Abstract Global Wallet with Thirdweb. - [Native Integration](https://docs.abs.xyz/abstract-global-wallet/agw-react/native-integration.md): Learn how to integrate Abstract Global Wallet with React. - [How It Works](https://docs.abs.xyz/abstract-global-wallet/architecture.md): Learn more about how Abstract Global Wallet works under the hood. - [Frequently Asked Questions](https://docs.abs.xyz/abstract-global-wallet/frequently-asked-questions.md): Answers to common questions about Abstract Global Wallet. - [Getting Started](https://docs.abs.xyz/abstract-global-wallet/getting-started.md): Learn how to integrate Abstract Global Wallet into your application. - [Abstract Global Wallet](https://docs.abs.xyz/abstract-global-wallet/overview.md): Discover Abstract Global Wallet, the smart contract wallet powering the Abstract ecosystem. - [Going to Production](https://docs.abs.xyz/abstract-global-wallet/session-keys/going-to-production.md): Learn how to use session keys in production on Abstract Mainnet. - [Session keys](https://docs.abs.xyz/abstract-global-wallet/session-keys/overview.md): Explore session keys, how to create them, and how to use them with the Abstract Global Wallet. - [debug_traceBlockByHash](https://docs.abs.xyz/api-reference/debug-api/debug_traceblockbyhash.md): Returns debug trace of all transactions in a block given block hash - [debug_traceBlockByNumber](https://docs.abs.xyz/api-reference/debug-api/debug_traceblockbynumber.md): Returns debug trace of all transactions in a block given block number - [debug_traceCall](https://docs.abs.xyz/api-reference/debug-api/debug_tracecall.md): Returns debug trace of a call - [debug_traceTransaction](https://docs.abs.xyz/api-reference/debug-api/debug_tracetransaction.md): Returns debug trace of a transaction - [eth_accounts](https://docs.abs.xyz/api-reference/ethereum-api/eth_accounts.md): Returns a list of addresses owned by the client - [eth_call](https://docs.abs.xyz/api-reference/ethereum-api/eth_call.md): Executes a new message call immediately without creating a transaction on the blockchain - [eth_chainId](https://docs.abs.xyz/api-reference/ethereum-api/eth_chainid.md): Gets the current chain ID - [eth_estimateGas](https://docs.abs.xyz/api-reference/ethereum-api/eth_estimategas.md): Estimates the amount of gas needed to execute a call - [eth_feeHistory](https://docs.abs.xyz/api-reference/ethereum-api/eth_feehistory.md): Returns fee data for historical blocks - [eth_gasPrice](https://docs.abs.xyz/api-reference/ethereum-api/eth_gasprice.md): Returns the current gas price in wei - [eth_getBalance](https://docs.abs.xyz/api-reference/ethereum-api/eth_getbalance.md): Returns the balance of the given address - [eth_getBlockByHash](https://docs.abs.xyz/api-reference/ethereum-api/eth_getblockbyhash.md): Returns information about a block by hash - [eth_getBlockByNumber](https://docs.abs.xyz/api-reference/ethereum-api/eth_getblockbynumber.md): Returns information about a block by number - [eth_getBlockReceipts](https://docs.abs.xyz/api-reference/ethereum-api/eth_getblockreceipts.md): Returns all transaction receipts for a given block - [eth_getBlockTransactionCountByHash](https://docs.abs.xyz/api-reference/ethereum-api/eth_getblocktransactioncountbyhash.md): Returns the number of transactions in a block by block hash - [eth_getBlockTransactionCountByNumber](https://docs.abs.xyz/api-reference/ethereum-api/eth_getblocktransactioncountbynumber.md): Returns the number of transactions in a block by block number - [eth_getCode](https://docs.abs.xyz/api-reference/ethereum-api/eth_getcode.md): Returns the code stored at the given address - [eth_getFilterChanges](https://docs.abs.xyz/api-reference/ethereum-api/eth_getfilterchanges.md): Returns filter changes since last poll - [eth_getFilterLogs](https://docs.abs.xyz/api-reference/ethereum-api/eth_getfilterlogs.md): Returns logs for the specified filter - [eth_getLogs](https://docs.abs.xyz/api-reference/ethereum-api/eth_getlogs.md): Returns logs matching the filter criteria - [eth_getStorageAt](https://docs.abs.xyz/api-reference/ethereum-api/eth_getstorageat.md): Returns the value from a storage position at a given address - [eth_getTransactionCount](https://docs.abs.xyz/api-reference/ethereum-api/eth_gettransactioncount.md): Returns the number of transactions sent from an address - [eth_newBlockFilter](https://docs.abs.xyz/api-reference/ethereum-api/eth_newblockfilter.md): Creates a filter to notify when a new block arrives - [eth_newFilter](https://docs.abs.xyz/api-reference/ethereum-api/eth_newfilter.md): Creates a filter object to notify when the state changes - [eth_newPendingTransactionFilter](https://docs.abs.xyz/api-reference/ethereum-api/eth_newpendingtransactionfilter.md): Creates a filter to notify when new pending transactions arrive - [eth_sendRawTransaction](https://docs.abs.xyz/api-reference/ethereum-api/eth_sendrawtransaction.md): Submits a pre-signed transaction for broadcast - [eth_uninstallFilter](https://docs.abs.xyz/api-reference/ethereum-api/eth_uninstallfilter.md): Uninstalls a filter with the given ID - [web3_clientVersion](https://docs.abs.xyz/api-reference/ethereum-api/web3_clientversion.md): Returns the current client version - [Abstract JSON-RPC API](https://docs.abs.xyz/api-reference/overview/abstract-json-rpc-api.md): View the full reference for the Abstract JSON-RPC API. - [eth_subscribe](https://docs.abs.xyz/api-reference/pubsub-api/eth_subscribe.md): Creates a new subscription for events. - [eth_unsubscribe](https://docs.abs.xyz/api-reference/pubsub-api/eth_unsubscribe.md): Cancels an existing subscription. - [zks_estimateFee](https://docs.abs.xyz/api-reference/zksync-api/zks_estimatefee.md): Estimates the fee for a given call request - [zks_estimateGasL1ToL2](https://docs.abs.xyz/api-reference/zksync-api/zks_estimategasl1tol2.md): Estimates the gas required for an L1 to L2 transaction - [zks_getAllAccountBalances](https://docs.abs.xyz/api-reference/zksync-api/zks_getallaccountbalances.md): Gets all account balances for a given address. The method returns an object with token addresses as keys and their corresponding balances as values. Each key-value pair represents the balance of a specific token held by the account - [zks_getBaseTokenL1Address](https://docs.abs.xyz/api-reference/zksync-api/zks_getbasetokenl1address.md): Retrieves the L1 base token address - [zks_getBlockDetails](https://docs.abs.xyz/api-reference/zksync-api/zks_getblockdetails.md): Returns data about a specific block - [zks_getBridgeContracts](https://docs.abs.xyz/api-reference/zksync-api/zks_getbridgecontracts.md): Returns the addresses of the bridge contracts on L1 and L2 - [zks_getBridgehubContract](https://docs.abs.xyz/api-reference/zksync-api/zks_getbridgehubcontract.md): Retrieves the bridge hub contract address - [zks_getBytecodeByHash](https://docs.abs.xyz/api-reference/zksync-api/zks_getbytecodebyhash.md): Retrieves the bytecode of a transaction by its hash - [zks_getConfirmedTokens](https://docs.abs.xyz/api-reference/zksync-api/zks_getconfirmedtokens.md): Lists confirmed tokens. Confirmed in the method name means any token bridged to Abstract via the official bridge. The tokens are returned in alphabetical order by their symbol. This means the token id is its position in an alphabetically sorted array of tokens. - [zks_getFeeParams](https://docs.abs.xyz/api-reference/zksync-api/zks_getfeeparams.md): Retrieves the current fee parameters - [zks_getL1BatchBlockRange](https://docs.abs.xyz/api-reference/zksync-api/zks_getl1batchblockrange.md): Returns the range of blocks contained within a specified L1 batch. The range is provided by the beginning and end block numbers in hexadecimal. - [zks_getL1BatchDetails](https://docs.abs.xyz/api-reference/zksync-api/zks_getl1batchdetails.md): Returns data pertaining to a specific L1 batch - [zks_getL1GasPrice](https://docs.abs.xyz/api-reference/zksync-api/zks_getl1gasprice.md): Retrieves the current L1 gas price - [zks_getL2ToL1LogProof](https://docs.abs.xyz/api-reference/zksync-api/zks_getl2tol1logproof.md): Retrieves the log proof for an L2 to L1 transaction - [zks_getL2ToL1MsgProof](https://docs.abs.xyz/api-reference/zksync-api/zks_getl2tol1msgproof.md): Retrieves the proof for an L2 to L1 message - [zks_getMainContract](https://docs.abs.xyz/api-reference/zksync-api/zks_getmaincontract.md): Retrieves the main contract address, also known as the DiamondProxy - [zks_getProof](https://docs.abs.xyz/api-reference/zksync-api/zks_getproof.md): Generates Merkle proofs for one or more storage values associated with a specific account, accompanied by a proof of their authenticity - [zks_getProtocolVersion](https://docs.abs.xyz/api-reference/zksync-api/zks_getprotocolversion.md): Gets the protocol version - [zks_getRawBlockTransactions](https://docs.abs.xyz/api-reference/zksync-api/zks_getrawblocktransactions.md): Lists transactions in a block without processing them - [zks_getTestnetPaymaster](https://docs.abs.xyz/api-reference/zksync-api/zks_gettestnetpaymaster.md): Retrieves the testnet paymaster address, specifically for interactions within the Abstract Sepolia Testnet environment. Note: This method is only applicable for Abstract Sepolia Testnet (i.e. not mainnet). - [zks_getTransactionDetails](https://docs.abs.xyz/api-reference/zksync-api/zks_gettransactiondetails.md): Returns data from a specific transaction - [zks_L1BatchNumber](https://docs.abs.xyz/api-reference/zksync-api/zks_l1batchnumber.md): Returns the latest L1 batch number - [zks_L1ChainId](https://docs.abs.xyz/api-reference/zksync-api/zks_l1chainid.md): Returns the chain id of the underlying L1 - [zks_sendRawTransactionWithDetailedOutput](https://docs.abs.xyz/api-reference/zksync-api/zks_sendrawtransactionwithdetailedoutput.md): Executes a transaction and returns its hash, storage logs, and events that would have been generated if the transaction had already been included in the block. The API has a similar behaviour to eth_sendRawTransaction but with some extra data returned from it. With this API Consumer apps can apply "optimistic" events in their applications instantly without having to wait for ZKsync block confirmation time. It's expected that the optimistic logs of two uncommitted transactions that modify the same state will not have causal relationships between each other. - [Ethers](https://docs.abs.xyz/build-on-abstract/applications/ethers.md): Learn how to use zksync-ethers to build applications on Abstract. - [Thirdweb](https://docs.abs.xyz/build-on-abstract/applications/thirdweb.md): Learn how to use thirdweb to build applications on Abstract. - [Viem](https://docs.abs.xyz/build-on-abstract/applications/viem.md): Learn how to use the Viem library to build applications on Abstract. - [Getting Started](https://docs.abs.xyz/build-on-abstract/getting-started.md): Learn how to start developing smart contracts and applications on Abstract. - [Foundry - Compiling Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/compiling-contracts.md): Learn how to compile your smart contracts using Foundry on Abstract. - [Foundry - Deploying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/deploying-contracts.md): Learn how to deploy smart contracts on Abstract using Foundry. - [Foundry - Get Started](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/get-started.md): Get started with Abstract by deploying your first smart contract using Foundry. - [Foundry - Installation](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/installation.md): Learn how to setup a new Foundry project on Abstract using foundry-zksync. - [Foundry - Testing Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/testing-contracts.md): Learn how to test your smart contracts using Foundry. - [Foundry - Verifying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/foundry/verifying-contracts.md): Learn how to verify smart contracts on Abstract using Foundry. - [Hardhat - Compiling Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/compiling-contracts.md): Learn how to compile your smart contracts using Hardhat on Abstract. - [Hardhat - Deploying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/deploying-contracts.md): Learn how to deploy smart contracts on Abstract using Hardhat. - [Hardhat - Get Started](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/get-started.md): Get started with Abstract by deploying your first smart contract using Hardhat. - [Hardhat - Installation](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/installation.md): Learn how to setup a new Hardhat project on Abstract using hardhat-zksync. - [Hardhat - Testing Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/testing-contracts.md): Learn how to test your smart contracts using Hardhat. - [Hardhat - Verifying Contracts](https://docs.abs.xyz/build-on-abstract/smart-contracts/hardhat/verifying-contracts.md): Learn how to verify smart contracts on Abstract using Hardhat. - [ZKsync CLI](https://docs.abs.xyz/build-on-abstract/zksync-cli.md): Learn how to use the ZKsync CLI to interact with Abstract or a local Abstract node. - [Connect to Abstract](https://docs.abs.xyz/connect-to-abstract.md): Add Abstract to your wallet or development environment to get started. - [Automation](https://docs.abs.xyz/ecosystem/automation.md): View the automation solutions available on Abstract. - [Bridges](https://docs.abs.xyz/ecosystem/bridges.md): Move funds from other chains to Abstract and vice versa. - [Data & Indexing](https://docs.abs.xyz/ecosystem/indexers.md): View the indexers and APIs available on Abstract. - [Interoperability](https://docs.abs.xyz/ecosystem/interoperability.md): Discover the interoperability solutions available on Abstract. - [Multi-Sig Wallets](https://docs.abs.xyz/ecosystem/multi-sig-wallets.md): Use multi-signature (multi-sig) wallets on Abstract - [Oracles](https://docs.abs.xyz/ecosystem/oracles.md): Discover the Oracle and VRF services available on Abstract. - [Paymasters](https://docs.abs.xyz/ecosystem/paymasters.md): Discover the paymasters solutions available on Abstract. - [Relayers](https://docs.abs.xyz/ecosystem/relayers.md): Discover the relayer solutions available on Abstract. - [RPC Providers](https://docs.abs.xyz/ecosystem/rpc-providers.md): Discover the RPC providers available on Abstract. - [Token Distribution](https://docs.abs.xyz/ecosystem/token-distribution.md): Discover providers for Token Distribution available on Abstract. - [L1 Rollup Contracts](https://docs.abs.xyz/how-abstract-works/architecture/components/l1-rollup-contracts.md): Learn more about the smart contracts deployed on L1 that enable Abstract to inherit the security properties of Ethereum. - [Prover & Verifier](https://docs.abs.xyz/how-abstract-works/architecture/components/prover-and-verifier.md): Learn more about the prover and verifier components of Abstract. - [Sequencer](https://docs.abs.xyz/how-abstract-works/architecture/components/sequencer.md): Learn more about the sequencer component of Abstract. - [Layer 2s](https://docs.abs.xyz/how-abstract-works/architecture/layer-2s.md): Learn what a layer 2 is and how Abstract is built as a layer 2 blockchain to inherit the security properties of Ethereum. - [Transaction Lifecycle](https://docs.abs.xyz/how-abstract-works/architecture/transaction-lifecycle.md): Learn how transactions are processed on Abstract and finalized on Ethereum. - [Best Practices](https://docs.abs.xyz/how-abstract-works/evm-differences/best-practices.md): Learn the best practices for building smart contracts on Abstract. - [Contract Deployment](https://docs.abs.xyz/how-abstract-works/evm-differences/contract-deployment.md): Learn how to deploy smart contracts on Abstract. - [EVM Interpreter](https://docs.abs.xyz/how-abstract-works/evm-differences/evm-interpreter.md): Learn how to deploy EVM equivalent smart contracts on Abstract. - [EVM Opcodes](https://docs.abs.xyz/how-abstract-works/evm-differences/evm-opcodes.md): Learn how Abstract differs from Ethereum's EVM opcodes. - [Gas Fees](https://docs.abs.xyz/how-abstract-works/evm-differences/gas-fees.md): Learn how Abstract differs from Ethereum's EVM opcodes. - [Libraries](https://docs.abs.xyz/how-abstract-works/evm-differences/libraries.md): Learn the differences between Abstract and Ethereum libraries. - [Nonces](https://docs.abs.xyz/how-abstract-works/evm-differences/nonces.md): Learn how Abstract differs from Ethereum's nonces. - [EVM Differences](https://docs.abs.xyz/how-abstract-works/evm-differences/overview.md): Learn the differences between Abstract and Ethereum. - [Precompiles](https://docs.abs.xyz/how-abstract-works/evm-differences/precompiles.md): Learn how Abstract differs from Ethereum's precompiled smart contracts. - [Handling Nonces](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/handling-nonces.md): Learn the best practices for handling nonces when building smart contract accounts on Abstract. - [Native Account Abstraction](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/overview.md): Learn how native account abstraction works on Abstract. - [Paymasters](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/paymasters.md): Learn how paymasters are built following the IPaymaster standard on Abstract. - [Signature Validation](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/signature-validation.md): Learn the best practices for signature validation when building smart contract accounts on Abstract. - [Smart Contract Wallets](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/smart-contract-wallets.md): Learn how smart contract wallets are built following the IAccount standard on Abstract. - [Transaction Flow](https://docs.abs.xyz/how-abstract-works/native-account-abstraction/transaction-flow.md): Learn how Abstract processes transactions step-by-step using native account abstraction. - [Bootloader](https://docs.abs.xyz/how-abstract-works/system-contracts/bootloader.md): Learn more about 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.md): Explore all of the system contracts that Abstract implements. - [System Contracts](https://docs.abs.xyz/how-abstract-works/system-contracts/overview.md): Learn how Abstract implements system contracts with special privileges to support some EVM opcodes. - [Using System Contracts](https://docs.abs.xyz/how-abstract-works/system-contracts/using-system-contracts.md): Understand how to best use system contracts on Abstract. - [Components](https://docs.abs.xyz/infrastructure/nodes/components.md): Learn the components of an Abstract node and how they work together. - [Introduction](https://docs.abs.xyz/infrastructure/nodes/introduction.md): Learn how Abstract Nodes work at a high level. - [Running a node](https://docs.abs.xyz/infrastructure/nodes/running-a-node.md): Learn how to run your own Abstract node. - [Introduction](https://docs.abs.xyz/overview.md): Welcome to the Abstract documentation. Dive into our resources to learn more about the blockchain leading the next generation of consumer crypto. - [Portal](https://docs.abs.xyz/portal/overview.md): Discover the Abstract Portal - your gateway to onchain discovery. - [Block Explorers](https://docs.abs.xyz/tooling/block-explorers.md): Learn how to view transactions, blocks, batches, and more on Abstract block explorers. - [Bridges](https://docs.abs.xyz/tooling/bridges.md): Learn how to bridge assets between Abstract and Ethereum. - [Deployed Contracts](https://docs.abs.xyz/tooling/deployed-contracts.md): Discover a list of commonly used contracts deployed on Abstract. - [Faucets](https://docs.abs.xyz/tooling/faucets.md): Learn how to easily get testnet funds for development on Abstract. - [What is Abstract?](https://docs.abs.xyz/what-is-abstract.md): A high-level overview of what Abstract is and how it works.