pub struct CreateEndUserEvmSwapSimulationInput {
pub from_amount: CreateEndUserEvmSwapSimulationInputFromAmount,
pub from_token: CreateEndUserEvmSwapSimulationInputFromToken,
pub network: EvmSwapsNetwork,
pub operation: CreateEndUserEvmSwapSimulationInputOperation,
pub paymaster_url: Option<Url>,
pub slippage_bps: i64,
pub taker: CreateEndUserEvmSwapSimulationInputTaker,
pub to_token: CreateEndUserEvmSwapSimulationInputToToken,
pub use_cdp_paymaster: Option<bool>,
pub user_id: CreateEndUserEvmSwapSimulationInputUserId,
}Expand description
CreateEndUserEvmSwapSimulationInput
JSON schema
{
"title": "CreateEndUserEvmSwapSimulationInput",
"examples": [
{
"fromAmount": "100000000000000000",
"fromToken": "0x4200000000000000000000000000000000000006",
"network": "base",
"operation": "createEndUserEvmSwap",
"taker": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"toToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"userId": "e051beeb-7163-4527-a5b6-35e301529ff2"
}
],
"type": "object",
"required": [
"fromAmount",
"fromToken",
"network",
"operation",
"taker",
"toToken",
"userId"
],
"properties": {
"fromAmount": {
"description": "The amount of `fromToken` to sell, in atomic units. For example, `100000000000000000` when selling WETH equates to 0.1 WETH.",
"type": "string",
"pattern": "^[1-9]\\d*$"
},
"fromToken": {
"description": "The 0x-prefixed contract address of the token to sell.",
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"network": {
"$ref": "#/components/schemas/EvmSwapsNetwork"
},
"operation": {
"description": "Rule operation to simulate.",
"type": "string",
"enum": [
"createEndUserEvmSwap"
],
"x-go-type": "string"
},
"paymasterUrl": {
"description": "The URL of the paymaster to use for the user operation. If using the CDP Paymaster, use the useCdpPaymaster option.",
"allOf": [
{
"$ref": "#/components/schemas/Url"
}
]
},
"slippageBps": {
"description": "Maximum slippage in basis points (100 = 1%). Sets the minimum output floor baked into the transaction calldata. If the onchain price moves beyond this tolerance, the transaction reverts. Default is 100 (1%).",
"default": 100,
"type": "integer",
"maximum": 10000.0,
"minimum": 0.0
},
"taker": {
"description": "The end user's EVM address (EOA or smart account) that will send fromToken. Must belong to this end user.",
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"toToken": {
"description": "The 0x-prefixed contract address of the token to buy.",
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"useCdpPaymaster": {
"description": "Whether to use the CDP Paymaster for the user operation.",
"type": "boolean"
},
"userId": {
"description": "The ID of the end user.",
"type": "string",
"pattern": "^[a-zA-Z0-9-]{1,100}$"
}
},
"additionalProperties": false
}Fields§
§from_amount: CreateEndUserEvmSwapSimulationInputFromAmountThe amount of fromToken to sell, in atomic units. For example, 100000000000000000 when selling WETH equates to 0.1 WETH.
from_token: CreateEndUserEvmSwapSimulationInputFromTokenThe 0x-prefixed contract address of the token to sell.
network: EvmSwapsNetwork§operation: CreateEndUserEvmSwapSimulationInputOperationRule operation to simulate.
paymaster_url: Option<Url>The URL of the paymaster to use for the user operation. If using the CDP Paymaster, use the useCdpPaymaster option.
slippage_bps: i64Maximum slippage in basis points (100 = 1%). Sets the minimum output floor baked into the transaction calldata. If the onchain price moves beyond this tolerance, the transaction reverts. Default is 100 (1%).
taker: CreateEndUserEvmSwapSimulationInputTakerThe end user’s EVM address (EOA or smart account) that will send fromToken. Must belong to this end user.
to_token: CreateEndUserEvmSwapSimulationInputToTokenThe 0x-prefixed contract address of the token to buy.
use_cdp_paymaster: Option<bool>Whether to use the CDP Paymaster for the user operation.
user_id: CreateEndUserEvmSwapSimulationInputUserIdThe ID of the end user.