We refreshed our doc site!
Bookmarked links may have changed
Read release notesPOSThttps://api.circle.com/v1/w3s/user/transactions/contractExecution
Generates a challenge for creating a transaction which executes a smart contract. ABI parameters must be passed in the request.
Unique system generated JWT session token for specific user.
Unique system generated identifier of the wallet. Required when source Address and blockchain is not provided. Mutually exclusive. For contract deploys this wallet ID will be used as the source.
The blockchain address of the contract to be executed.
Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests. To create a UUIDv4 go to uuidgenerator.net. If the same key is reused, it will be treated as the same request and the original response will be returned.
The contract ABI function signature or callData
field is required for interacting with the smart contract. The ABI function signature cannot be used simultaneously with callData
. e.g. burn(uint256)
The contract ABI function signature parameters for executing the contract interaction. Supported parameter types include string, integer, boolean, and array. These parameters should be used exclusively with the abiFunctionSignature and cannot be used with callData
.
The raw transaction data, must be an even-length hexadecimal string with the 0x
prefix, to be executed. It is important to note that the usage of callData
is mutually exclusive with the abiFunctionSignature
and abiParameters
. Therefore, callData
cannot be utilized simultaneously with either abiFunctionSignature
or abiParameters
.
The amount of native token that will be sent to the contract abi execution. Optional field for payable api only, if not provided, no native token will be sent.
A dynamic blockchain fee level setting (LOW
, MEDIUM
, or HIGH
) that will be used to pay gas for the transaction. Calculated based on network traffic, supply of validators, and demand for transaction verification. Cannot be used with gasPrice
, priorityFee
, or maxFee
.
Estimates for each fee level can be obtained through the POST /transactions/transfer/estimateFee
API.
The maximum units of gas to use for the transaction. Required if feeLevel
is not provided.
Estimates for this limit can be obtained through the POST /transactions/transfer/estimateFee
API.
GasLimit override (only supported for EOA wallets): Using gasLimit
together with feeLevel
, the provided gasLimit
is required to be greater or equal to feeLevel
estimation and will override the estimation's gasLimit.
For blockchains without EIP-1559 support, the maximum price of gas, in gwei, to use per each unit of gas (see gasLimit
). Requires gasLimit
. Cannot be used with feeLevel
, priorityFee
, or maxFee
.
Estimates for this fee can be obtained through the POST /transactions/transfer/estimateFee
API.
For blockchains with EIP-1559 support, the maximum price per unit of gas (see gasLimit
), in gwei. Requires priorityFee
, and gasLimit
to be present. Cannot be used with feeLevel
or gasPrice
.
Estimates for this fee can be obtained through the POST /transactions/transfer/estimateFee
API.
For blockchains with EIP-1559 support, the “tip”, in gwei, to add to the base fee as an incentive for validators.
Please note that the maxFee
and gasLimit
parameters are required alongside the priorityFee
. The feeLevel
and gasPrice
parameters cannot be used with the priorityFee
.
Estimations for this fee can be obtained through the POST /transactions/transfer/estimateFee
API.
Optional reference or description used to identify the transaction.
1{
2 "data": {
3 "challengeId": "c4d1da72-111e-4d52-bdbf-2e74a2d803d5"
4 }
5}