# RequestQuoteV0Result (experimental)

> Result returned by the experimental `requestQuoteV0` action.

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

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

<Warning>
  Experimental: This API is experimental and may change in a future release.
</Warning>

```ts
type RequestQuoteV0Result =
  | ({
      quote: {
        fromAmount: bigint;
        minimumToAmount: bigint;
        expiry: number;
      };
      chainId: number;
      callId?: `0x${string}` | undefined;
    } & {
      rawCalls: false;
    } & {
      type: "array";
      data: (
        | {
            type: "user-operation-v060";
            data: {
              sender: `0x${string}`;
              nonce: bigint;
              initCode: `0x${string}`;
              callData: `0x${string}`;
              callGasLimit: bigint;
              verificationGasLimit: bigint;
              preVerificationGas: bigint;
              maxFeePerGas: bigint;
              maxPriorityFeePerGas: bigint;
              paymasterAndData: `0x${string}`;
            };
            chainId: number;
            feePayment: {
              sponsored: boolean;
              tokenAddress: `0x${string}`;
              maxAmount: bigint;
            };
            signatureRequest?:
              | {
                  type: "personal_sign";
                  data:
                    | string
                    | {
                        raw: `0x${string}`;
                      };
                  rawPayload: `0x${string}`;
                }
              | {
                  type: "eth_signTypedData_v4";
                  data: {
                    types: Record<
                      string,
                      {
                        name: string;
                        type: string;
                      }[]
                    >;
                    primaryType: string;
                    message: Record<string, unknown>;
                    domain?:
                      | {
                          chainId?: number | bigint | undefined;
                          name?: string | undefined;
                          salt?: `0x${string}` | undefined;
                          verifyingContract?: `0x${string}` | undefined;
                          version?: string | undefined;
                        }
                      | undefined;
                  };
                  rawPayload: `0x${string}`;
                }
              | undefined;
          }
        | {
            type: "user-operation-v070";
            data: {
              sender: `0x${string}`;
              nonce: bigint;
              callData: `0x${string}`;
              callGasLimit: bigint;
              verificationGasLimit: bigint;
              preVerificationGas: bigint;
              maxFeePerGas: bigint;
              maxPriorityFeePerGas: bigint;
              factory?: `0x${string}` | undefined;
              factoryData?: `0x${string}` | undefined;
              paymaster?: `0x${string}` | undefined;
              paymasterData?: `0x${string}` | undefined;
              paymasterVerificationGasLimit?: bigint | undefined;
              paymasterPostOpGasLimit?: bigint | undefined;
            };
            chainId: number;
            feePayment: {
              sponsored: boolean;
              tokenAddress: `0x${string}`;
              maxAmount: bigint;
            };
            signatureRequest?:
              | {
                  type: "personal_sign";
                  data:
                    | string
                    | {
                        raw: `0x${string}`;
                      };
                  rawPayload: `0x${string}`;
                }
              | {
                  type: "eth_signTypedData_v4";
                  data: {
                    types: Record<
                      string,
                      {
                        name: string;
                        type: string;
                      }[]
                    >;
                    primaryType: string;
                    message: Record<string, unknown>;
                    domain?:
                      | {
                          chainId?: number | bigint | undefined;
                          name?: string | undefined;
                          salt?: `0x${string}` | undefined;
                          verifyingContract?: `0x${string}` | undefined;
                          version?: string | undefined;
                        }
                      | undefined;
                  };
                  rawPayload: `0x${string}`;
                }
              | undefined;
          }
        | {
            type: "authorization";
            data: {
              address: `0x${string}`;
              nonce: number;
            };
            chainId: number;
            signatureRequest: {
              type: "eip7702Auth";
              rawPayload: `0x${string}`;
            };
          }
      )[];
    } & {
      details?:
        | {
            type: "user-operation";
            data: {
              hash: `0x${string}`;
              calls: {
                to: `0x${string}`;
                data?: `0x${string}` | undefined;
                value?: bigint | undefined;
              }[];
            };
          }
        | undefined;
    })
  | ({
      quote: {
        fromAmount: bigint;
        minimumToAmount: bigint;
        expiry: number;
      };
      chainId: number;
      callId?: `0x${string}` | undefined;
    } & {
      rawCalls: false;
    } & {
      type: "user-operation-v060";
      data: {
        sender: `0x${string}`;
        nonce: bigint;
        initCode: `0x${string}`;
        callData: `0x${string}`;
        callGasLimit: bigint;
        verificationGasLimit: bigint;
        preVerificationGas: bigint;
        maxFeePerGas: bigint;
        maxPriorityFeePerGas: bigint;
        paymasterAndData: `0x${string}`;
      };
      feePayment: {
        sponsored: boolean;
        tokenAddress: `0x${string}`;
        maxAmount: bigint;
      };
      signatureRequest?:
        | {
            type: "personal_sign";
            data:
              | string
              | {
                  raw: `0x${string}`;
                };
            rawPayload: `0x${string}`;
          }
        | {
            type: "eth_signTypedData_v4";
            data: {
              types: Record<
                string,
                {
                  name: string;
                  type: string;
                }[]
              >;
              primaryType: string;
              message: Record<string, unknown>;
              domain?:
                | {
                    chainId?: number | bigint | undefined;
                    name?: string | undefined;
                    salt?: `0x${string}` | undefined;
                    verifyingContract?: `0x${string}` | undefined;
                    version?: string | undefined;
                  }
                | undefined;
            };
            rawPayload: `0x${string}`;
          }
        | undefined;
    } & {
      details?:
        | {
            type: "user-operation";
            data: {
              hash: `0x${string}`;
              calls: {
                to: `0x${string}`;
                data?: `0x${string}` | undefined;
                value?: bigint | undefined;
              }[];
            };
          }
        | undefined;
    })
  | ({
      quote: {
        fromAmount: bigint;
        minimumToAmount: bigint;
        expiry: number;
      };
      chainId: number;
      callId?: `0x${string}` | undefined;
    } & {
      rawCalls: false;
    } & {
      type: "user-operation-v070";
      data: {
        sender: `0x${string}`;
        nonce: bigint;
        callData: `0x${string}`;
        callGasLimit: bigint;
        verificationGasLimit: bigint;
        preVerificationGas: bigint;
        maxFeePerGas: bigint;
        maxPriorityFeePerGas: bigint;
        factory?: `0x${string}` | undefined;
        factoryData?: `0x${string}` | undefined;
        paymaster?: `0x${string}` | undefined;
        paymasterData?: `0x${string}` | undefined;
        paymasterVerificationGasLimit?: bigint | undefined;
        paymasterPostOpGasLimit?: bigint | undefined;
      };
      feePayment: {
        sponsored: boolean;
        tokenAddress: `0x${string}`;
        maxAmount: bigint;
      };
      signatureRequest?:
        | {
            type: "personal_sign";
            data:
              | string
              | {
                  raw: `0x${string}`;
                };
            rawPayload: `0x${string}`;
          }
        | {
            type: "eth_signTypedData_v4";
            data: {
              types: Record<
                string,
                {
                  name: string;
                  type: string;
                }[]
              >;
              primaryType: string;
              message: Record<string, unknown>;
              domain?:
                | {
                    chainId?: number | bigint | undefined;
                    name?: string | undefined;
                    salt?: `0x${string}` | undefined;
                    verifyingContract?: `0x${string}` | undefined;
                    version?: string | undefined;
                  }
                | undefined;
            };
            rawPayload: `0x${string}`;
          }
        | undefined;
    } & {
      details?:
        | {
            type: "user-operation";
            data: {
              hash: `0x${string}`;
              calls: {
                to: `0x${string}`;
                data?: `0x${string}` | undefined;
                value?: bigint | undefined;
              }[];
            };
          }
        | undefined;
    })
  | ({
      quote: {
        fromAmount: bigint;
        minimumToAmount: bigint;
        expiry: number;
      };
      chainId: number;
      callId?: `0x${string}` | undefined;
    } & {
      rawCalls: false;
    } & {
      type: "authorization";
      data: {
        address: `0x${string}`;
        nonce: number;
      };
      signatureRequest: {
        type: "eip7702Auth";
        rawPayload: `0x${string}`;
      };
    } & {
      details?:
        | {
            type: "user-operation";
            data: {
              hash: `0x${string}`;
              calls: {
                to: `0x${string}`;
                data?: `0x${string}` | undefined;
                value?: bigint | undefined;
              }[];
            };
          }
        | undefined;
    })
  | ({
      quote: {
        fromAmount: bigint;
        minimumToAmount: bigint;
        expiry: number;
      };
      chainId: number;
      callId?: `0x${string}` | undefined;
    } & {
      rawCalls: true;
      calls: {
        to: `0x${string}`;
        data?: `0x${string}` | undefined;
        value?: bigint | undefined;
      }[];
    })
  | (Omit<
      {
        quote: {
          fromAmount: bigint;
          minimumToAmount: bigint;
          expiry: number;
        };
        chainId: number;
        callId?: `0x${string}` | undefined;
      } & {
        rawCalls: false;
      } & {
        type: "paymaster-permit";
        modifiedRequest: {
          from: `0x${string}`;
          chainId: number;
          calls?:
            | {
                to: `0x${string}`;
                data?: `0x${string}` | undefined;
                value?: bigint | undefined;
              }[]
            | undefined;
          capabilities?:
            | {
                permissions?:
                  | {
                      context: `0x${string}`;
                    }
                  | {
                      sessionId: `0x${string}`;
                      signature: `0x${string}`;
                    }
                  | undefined;
                paymasterService?:
                  | ((
                      | {
                          policyId: string;
                        }
                      | {
                          policyIds: string[];
                        }
                    ) & {
                      onlyEstimation?: boolean | undefined;
                      erc20?:
                        | {
                            preOpSettings: {
                              autoPermit: {
                                below: bigint;
                                amount: bigint;
                                durationSeconds?: number | undefined;
                              };
                            };
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | {
                            preOpSettings: {
                              permitDetails: {
                                deadline: number;
                                value: bigint;
                              };
                            };
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | {
                            postOpSettings: {
                              autoApprove?:
                                | true
                                | {
                                    below: bigint;
                                    amount: bigint;
                                  }
                                | undefined;
                              balanceCheck?: false | undefined;
                            };
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | {
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | undefined;
                      webhookData?: string | undefined;
                    })
                  | undefined;
                gasParamsOverride?:
                  | {
                      preVerificationGas?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      verificationGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      callGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      paymasterVerificationGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      paymasterPostOpGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      maxFeePerGas?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      maxPriorityFeePerGas?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                    }
                  | undefined;
                eip7702Auth?:
                  | true
                  | {
                      delegation:
                        | "ModularAccountV2"
                        | "0x69007702764179f14F51cdce752f4f775d74E139"
                        | "0x0000000000000000000000000000000000000000";
                      account?: `0x${string}` | undefined;
                    }
                  | undefined;
                nonceOverride?:
                  | {
                      nonceKey: bigint | `0x${string}`;
                    }
                  | undefined;
                stateOverride?:
                  | Record<
                      `0x${string}`,
                      | {
                          state: Record<`0x${string}`, `0x${string}`>;
                          balance?: bigint | undefined;
                          nonce?: number | undefined;
                          code?: `0x${string}` | undefined;
                        }
                      | {
                          stateDiff: Record<`0x${string}`, `0x${string}`>;
                          balance?: bigint | undefined;
                          nonce?: number | undefined;
                          code?: `0x${string}` | undefined;
                        }
                      | {
                          balance?: bigint | undefined;
                          nonce?: number | undefined;
                          code?: `0x${string}` | undefined;
                        }
                    >
                  | undefined;
                experimental_dataSuffix?:
                  | {
                      value: `0x${string}`;
                    }
                  | undefined;
              }
            | undefined;
          paymasterPermitSignature?:
            | {
                type: "secp256k1";
                data:
                  | `0x${string}`
                  | {
                      r: `0x${string}`;
                      s: `0x${string}`;
                      yParity: `0x${string}`;
                    }
                  | {
                      r: `0x${string}`;
                      s: `0x${string}`;
                      v: `0x${string}`;
                    };
              }
            | {
                type: "ecdsa";
                data:
                  | `0x${string}`
                  | {
                      r: `0x${string}`;
                      s: `0x${string}`;
                      yParity: `0x${string}`;
                    }
                  | {
                      r: `0x${string}`;
                      s: `0x${string}`;
                      v: `0x${string}`;
                    };
              }
            | undefined;
        };
        data: {
          types: Record<
            string,
            {
              name: string;
              type: string;
            }[]
          >;
          primaryType: string;
          message: Record<string, unknown>;
          domain?:
            | {
                chainId?: number | bigint | undefined;
                name?: string | undefined;
                salt?: `0x${string}` | undefined;
                verifyingContract?: `0x${string}` | undefined;
                version?: string | undefined;
              }
            | undefined;
        };
        signatureRequest: {
          type: "eth_signTypedData_v4";
          data: {
            types: Record<
              string,
              {
                name: string;
                type: string;
              }[]
            >;
            primaryType: string;
            message: Record<string, unknown>;
            domain?:
              | {
                  chainId?: number | bigint | undefined;
                  name?: string | undefined;
                  salt?: `0x${string}` | undefined;
                  verifyingContract?: `0x${string}` | undefined;
                  version?: string | undefined;
                }
              | undefined;
          };
          rawPayload: `0x${string}`;
        };
      } & {
        details?:
          | {
              type: "user-operation";
              data: {
                hash: `0x${string}`;
                calls: {
                  to: `0x${string}`;
                  data?: `0x${string}` | undefined;
                  value?: bigint | undefined;
                }[];
              };
            }
          | undefined;
      },
      "modifiedRequest"
    > & {
      modifiedRequest: {
        chainId: number;
        calls?:
          | {
              to: `0x${string}`;
              data?: `0x${string}` | undefined;
              value?: bigint | undefined;
            }[]
          | undefined;
        paymasterPermitSignature?:
          | {
              type: "secp256k1";
              data:
                | `0x${string}`
                | {
                    r: `0x${string}`;
                    s: `0x${string}`;
                    yParity: `0x${string}`;
                  }
                | {
                    r: `0x${string}`;
                    s: `0x${string}`;
                    v: `0x${string}`;
                  };
            }
          | {
              type: "ecdsa";
              data:
                | `0x${string}`
                | {
                    r: `0x${string}`;
                    s: `0x${string}`;
                    yParity: `0x${string}`;
                  }
                | {
                    r: `0x${string}`;
                    s: `0x${string}`;
                    v: `0x${string}`;
                  };
            }
          | undefined;
        account: `0x${string}`;
        capabilities?:
          | (Omit<
              {
                permissions?:
                  | {
                      context: `0x${string}`;
                    }
                  | {
                      sessionId: `0x${string}`;
                      signature: `0x${string}`;
                    }
                  | undefined;
                paymasterService?:
                  | ((
                      | {
                          policyId: string;
                        }
                      | {
                          policyIds: string[];
                        }
                    ) & {
                      onlyEstimation?: boolean | undefined;
                      erc20?:
                        | {
                            preOpSettings: {
                              autoPermit: {
                                below: bigint;
                                amount: bigint;
                                durationSeconds?: number | undefined;
                              };
                            };
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | {
                            preOpSettings: {
                              permitDetails: {
                                deadline: number;
                                value: bigint;
                              };
                            };
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | {
                            postOpSettings: {
                              autoApprove?:
                                | true
                                | {
                                    below: bigint;
                                    amount: bigint;
                                  }
                                | undefined;
                              balanceCheck?: false | undefined;
                            };
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | {
                            tokenAddress: `0x${string}`;
                            maxTokenAmount?: bigint | undefined;
                          }
                        | undefined;
                      webhookData?: string | undefined;
                    })
                  | undefined;
                gasParamsOverride?:
                  | {
                      preVerificationGas?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      verificationGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      callGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      paymasterVerificationGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      paymasterPostOpGasLimit?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      maxFeePerGas?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                      maxPriorityFeePerGas?:
                        | bigint
                        | {
                            multiplier: number;
                          }
                        | undefined;
                    }
                  | undefined;
                eip7702Auth?:
                  | true
                  | {
                      delegation:
                        | "ModularAccountV2"
                        | "0x69007702764179f14F51cdce752f4f775d74E139"
                        | "0x0000000000000000000000000000000000000000";
                      account?: `0x${string}` | undefined;
                    }
                  | undefined;
                nonceOverride?:
                  | {
                      nonceKey: bigint | `0x${string}`;
                    }
                  | undefined;
                stateOverride?:
                  | Record<
                      `0x${string}`,
                      | {
                          state: Record<`0x${string}`, `0x${string}`>;
                          balance?: bigint | undefined;
                          nonce?: number | undefined;
                          code?: `0x${string}` | undefined;
                        }
                      | {
                          stateDiff: Record<`0x${string}`, `0x${string}`>;
                          balance?: bigint | undefined;
                          nonce?: number | undefined;
                          code?: `0x${string}` | undefined;
                        }
                      | {
                          balance?: bigint | undefined;
                          nonce?: number | undefined;
                          code?: `0x${string}` | undefined;
                        }
                    >
                  | undefined;
                experimental_dataSuffix?:
                  | {
                      value: `0x${string}`;
                    }
                  | undefined;
              },
              "paymasterService"
            > & {
              paymaster?:
                | ({
                    policyId: string;
                  } & {
                    onlyEstimation?: boolean | undefined;
                    erc20?:
                      | {
                          preOpSettings: {
                            autoPermit: {
                              below: bigint;
                              amount: bigint;
                              durationSeconds?: number | undefined;
                            };
                          };
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | {
                          preOpSettings: {
                            permitDetails: {
                              deadline: number;
                              value: bigint;
                            };
                          };
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | {
                          postOpSettings: {
                            autoApprove?:
                              | true
                              | {
                                  below: bigint;
                                  amount: bigint;
                                }
                              | undefined;
                            balanceCheck?: false | undefined;
                          };
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | {
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | undefined;
                    webhookData?: string | undefined;
                  })
                | ({
                    policyIds: string[];
                  } & {
                    onlyEstimation?: boolean | undefined;
                    erc20?:
                      | {
                          preOpSettings: {
                            autoPermit: {
                              below: bigint;
                              amount: bigint;
                              durationSeconds?: number | undefined;
                            };
                          };
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | {
                          preOpSettings: {
                            permitDetails: {
                              deadline: number;
                              value: bigint;
                            };
                          };
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | {
                          postOpSettings: {
                            autoApprove?:
                              | true
                              | {
                                  below: bigint;
                                  amount: bigint;
                                }
                              | undefined;
                            balanceCheck?: false | undefined;
                          };
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | {
                          tokenAddress: `0x${string}`;
                          maxTokenAmount?: bigint | undefined;
                        }
                      | undefined;
                    webhookData?: string | undefined;
                  })
                | undefined;
            })
          | undefined;
      };
    });
```

Defined in: [packages/wallet-apis/src/experimental/actions/requestQuoteV0.ts:68](https://github.com/alchemyplatform/aa-sdk/blob/v5.x.x/packages/wallet-apis/src/experimental/actions/requestQuoteV0.ts#L68)

Result returned by the experimental `requestQuoteV0` action.