Skip to content
Alchemy Logo

RequestQuoteV0Params (experimental)

Experimental: This API is experimental and may change in a future release.

type RequestQuoteV0Params =
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount: bigint;
      minimumToAmount?: undefined;
      toChainId?: undefined;
      postCalls?:
        | {
            to: `0x${string}`;
            data?: `0x${string}` | undefined;
            value?: bigint | undefined;
          }[]
        | undefined;
      returnRawCalls?: false | undefined;
      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;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount: bigint;
      minimumToAmount?: undefined;
      toChainId?: undefined;
      postCalls?:
        | {
            to: `0x${string}`;
            data?: `0x${string}` | undefined;
            value?: bigint | undefined;
          }[]
        | undefined;
      returnRawCalls: true;
      capabilities?: undefined;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount: bigint;
      minimumToAmount?: undefined;
      toChainId: number;
      postCalls?: undefined;
      returnRawCalls?: false | undefined;
      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;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount: bigint;
      minimumToAmount?: undefined;
      toChainId: number;
      postCalls?: undefined;
      returnRawCalls: true;
      capabilities?: undefined;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount?: undefined;
      minimumToAmount: bigint;
      toChainId?: undefined;
      postCalls?:
        | {
            to: `0x${string}`;
            data?: `0x${string}` | undefined;
            value?: bigint | undefined;
          }[]
        | undefined;
      returnRawCalls?: false | undefined;
      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;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount?: undefined;
      minimumToAmount: bigint;
      toChainId?: undefined;
      postCalls?:
        | {
            to: `0x${string}`;
            data?: `0x${string}` | undefined;
            value?: bigint | undefined;
          }[]
        | undefined;
      returnRawCalls: true;
      capabilities?: undefined;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount?: undefined;
      minimumToAmount: bigint;
      toChainId: number;
      postCalls?: undefined;
      returnRawCalls?: false | undefined;
      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;
    }
  | {
      fromToken: `0x${string}`;
      toToken: `0x${string}`;
      slippage?: bigint | undefined;
      account?: AccountParam | undefined;
      chainId?: number | undefined;
      fromAmount?: undefined;
      minimumToAmount: bigint;
      toChainId: number;
      postCalls?: undefined;
      returnRawCalls: true;
      capabilities?: undefined;
    };

Defined in: packages/wallet-apis/src/experimental/actions/requestQuoteV0.ts:39

Parameters accepted by the experimental requestQuoteV0 action.

Was this page helpful?