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

# `eth_sendUserOperation`

Submits a user operation to be included onchain and returns the user operation hash if successful (or queued). If the operation is not successful, it will return an error. This method uses [4950 credits](/services/get-started/pricing/) from your daily balance.

## Parameters[​](#parameters "Direct link to Parameters")

- v0.7 and v0.8 user operation
- v0.6 user operation

- `userOperation`: The user operation object containing the following fields:

  - `sender`: (string) - The address of the account making the operation.
  - `nonce`: (string) - Nonce for the request from this sender. This includes the key and sequence number.
  - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet.
  - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account.
  - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
  - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
  - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
  - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
  - `maxFeePerGas` : (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
  - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
  - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none.
  - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster.
  - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster.
  - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster.
  - `signature`: (string) - The signature data.
  - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data:  
    - `address`: (string) - The contract address for the authorization.
    - `chainId`: (string) - The chain ID.
    - `nonce`: (string) - The nonce.
    - `r`: (string) - The r component of the signature.
    - `s`: (string) - The s component of the signature.
    - `v`: (string) - The v component of the signature.
    - `yParity`: (string) - The y-parity value.
- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`).

- `userOperation`: The user operation object containing the following fields:

  - `sender`: (string) - The address of the account making the operation.
  - `nonce`: (string) - Nonce for the request from this sender.
  - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet.
  - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call.
  - `callGasLimit`: (string) - The amount of gas to allocate the main execution call.
  - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step.
  - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`.
  - `maxFeePerGas` : (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas.
  - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee.
  - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it.
  - `signature`: (string) - The signature data.
  - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data:  
    - `address`: (string) - The contract address for the authorization.
    - `chainId`: (string) - The chain ID.
    - `nonce`: (string) - The nonce.
    - `r`: (string) - The r component of the signature.
    - `s`: (string) - The s component of the signature.
    - `v`: (string) - The v component of the signature.
    - `yParity`: (string) - The y-parity value.
- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`).

## Returns[​](#returns "Direct link to Returns")

The 32-byte hash of the user operation (`userOpHash`). This hash uniquely identifies the user operation and can be used to track its status.

## Example[​](#example "Direct link to Example")

Replace `<YOUR-API-KEY>` with an API key from your [Infura dashboard](https://app.infura.io/).

### Request[​](#request "Direct link to Request")

- curl

```
curl https://scroll-mainnet.infura.io/v3/<YOUR-API-KEY> \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_sendUserOperation",
    "params": [
      {
        "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149",
        "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000",
        "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5",
        "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419",
        "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000",
        "callGasLimit": "0x13880",
        "verificationGasLimit": "0x60B01",
        "preVerificationGas": "0xD3E3",
        "maxPriorityFeePerGas": "0x3B9ACA00",
        "maxFeePerGas": "0x7A5CF70D5",
        "paymaster": "0x",
        "paymasterVerificationGasLimit": "0x0",
        "paymasterPostOpGasLimit": "0x0",
        "paymasterData": null,
        "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c"
      },
      "0x0000000071727De22E5E9d8BAf0edAc6f37da032"
    ],
    "id": 1
  }'

```

### Response[​](#response "Direct link to Response")

- JSON

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x4c31ae84205a9c862dd8d0822f427fb516448451850ee6f65351951f6a2b2154"
}

```
