# Low-level Infrastructure Overview

> Raw EIP-4337 APIs for advanced developers

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

# Lower level infra overview

Wallet APIs is composed of some lower-level libraries if you're looking for further customization of your stack or want more control over how you build your application and use third party providers.
One of these libraries is `@account-kit/infra` which allows you to interact with the infrastructure directly, while bringing your own smart contracts or authentication provider.

If you do not need customization, use the Wallet APIs to simplify development.

## What is the Bundler API?

The Bundler APIs are a collection of JSON-RPC endpoints for working with transactions. Below are the available endpoints and the corresponding docs for each of them.

| Method                                                                                                                    | Description                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [eth\_sendUserOperation](/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-send-user-operation)                 | Submits a user operation to a Bundler. If the request is successful, the endpoint will return a user operation hash that the caller can use to look up the status of the user operation. If it fails, or another error occurs, an error code and description will be returned. |
| [eth\_estimateUserOperationGas](/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-estimate-user-operation-gas)  | Estimates the gas values for a user operation. It returns the \[preVerificationGas], \[verificationGasLimit], and \[callGasLimit] values associated with the provided user operation.                                                                                             |
| [eth\_getUserOperationByHash](/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-get-user-operation-by-hash)     | Returns a user operation based on the given user operation hash. It returns the user operation along with extra information including what block/transaction it was included in. If the operation has not yet been included, it will return \[null].                            |
| [eth\_getUserOperationReceipt](/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-get-user-operation-receipt)    | Returns a user operation receipt ( metadata associated with the given user operation ) based on the given user operation hash. It returns \[null] if the user operation has not yet been included.                                                                              |
| [rundler\_maxPriorityFeePerGas](/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/rundler-max-priority-fee-per-gas) | Returns a fee per gas that is an estimate of how much users should set as a priority fee in UOs for Rundler endpoints.                                                                                                                                                         |
| [eth\_supportedEntryPoints](/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-supported-entry-points)           | Returns a list of Entrypoint contract addresses supported by the bundler endpoints.                                                                                                                                                                                            |


## What are Gas Manager Admin APIs?

The Gas Manager Admin APIs allow you to programmatically manage gas sponsorship policies. Define and manage policies governing gas sponsorship behavior, such as spending limits and eligibility. Below are the Gas Manager Admin API endpoints available and the corresponding docs for each of them.

| Method                                                                                                        | Description                                                                                        |
| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| [create-policy](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/create-policy)               | Creates a new gas manager policy with the specified rules.                                         |
| [get-policy](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/get-policy)                     | Returns a policy by id.                                                                            |
| [replace-policy](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/replace-policy)             | Replaces all rules in an existing policy by id.                                                    |
| [delete-policy](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/delete-policy)               | Deletes a policy by id.                                                                            |
| [get-all-policies](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/get-all-policies)         | Returns all policies. The results are paginated.                                                   |
| [update-policy-status](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/update-policy-status) | Modifies the status of a policy to either “active” or “inactive”.                                  |
| [get-policy-stats](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/get-policy-stats)         | Returns stats about a policy specified by ID.                                                      |
| [get-sponsorships](/docs/wallets/api-reference/gas-manager-admin-api/admin-api-endpoints/get-sponsorships)         | Returns a list of sponsorships associated with the specified policy ID. The results are paginated. |


# What are Gas Coverage API endpoints?

The Gas Coverage API is a set of methods that allow you to sponsor gas for transactions, abstracting away the concept of “gas”. Below are the Gas Coverage API endpoints available and the corresponding docs for each of them.

| Method                                                                                                                                                         | Description                                                                                                                                                                                                             |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [alchemy_requestGasAndPaymasterAndData](/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/alchemy-request-gas-and-paymaster-and-data) | **\[Start here / Recommended]** Requests gas sponsorship and gas estimates for a `UserOperation` on EVM networks. If approved, returns: 1. `paymaster` and `paymasterData` 2. gas and fee estimates.                    |
| [alchemy_requestPaymasterAndData](/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/alchemy-request-paymaster-and-data)               | **\[To be deprecated]** Requests gas sponsorship for a `UserOperation` on EVM networks. If approved, returns`paymaster` and `paymasterData`.                                                                            |
| [pm_getPaymasterStubData](/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/pm-get-paymaster-stub-data)                               | Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation on EVM networks.                                                                                            |
| [pm_getPaymasterData](/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/pm-get-paymaster-data)                                        | Returns values to be used in paymaster-related fields of a signed user operation on EVM networks. These are not stub values and will be included in a signed user operation as part of an `eth_sendUserOperation` call. |
| [alchemy_requestFeePayer](/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/alchemy-request-fee-payer)                                | Request fee sponsorship for a Solana `transaction`. Returns the updated `serializedTransaction`, fee and rent estimates, and optional CPI rent-prefunding details.                                                      |
| [alchemy_requestPaymasterTokenQuote](/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/alchemy-request-paymaster-token-quote)         | Requests ERC20 fee quote for a `UserOperation`. Optionally accepts fee parameter overrides to be used in the `UserOperation`                                                                                            |