This operation creates a transaction to interact with a smart contract on the blockchain.
You need to provide details such as the source address, destination address, and the calldata. You can specify the fee-related properties to limit the transaction fee. A transaction request for tracking is returned upon successful operation.
For smart contract call examples, you can refer to Batch transfers using smart contracts and Swap tokens on Solana using Jupiter.
request_id to prevent duplicate contract call requests. The request_id must be unique within the same organization. Duplicate requests with the same request_id will be rejected with an error and will not be executed again.Supported actions vary by blockchain:
destination property for supported contract types.0.The API key. For more details, refer to API key.
In the API playground, enter your API secret, and your API key will be accordingly calculated.
The request body for making a contract call.
The information about a transaction that interacts with a smart contract
A client-defined unique request identifier (idempotency key) used to prevent duplicate contract call requests. It must be unique within the same organization. Requests with the same request ID will be rejected with an error.
"f47ac10b-58cc-4372-a567-0e02b2c3d479"
The chain ID, which is the unique identifier of a blockchain. You can retrieve the IDs of all the chains you can use by calling List enabled chains.
"ETH"
The information about the transaction source type. Refer to Transaction sources and destinations for a detailed introduction about the supported sources and destinations for each transaction type.
Switch between the tabs to display the properties for different transaction sources.
The information about the transaction destination. Refer to Transaction sources and destinations for a detailed introduction about the supported sources and destinations for each transaction type.
The description of the contract call transaction. Maximum length is 2048 characters for MPC Wallets and Custodial Wallets (Web3 Wallets), and 1000 characters for Custodial Wallets (Asset Wallets).
"Transaction to call a smart contract initiated from a wallet"
The custom category for you to identify your transactions.
The preset properties to limit transaction fee.
In the fixed fee model, the transaction fee is a fixed amount within a certain amount of period regardless of the transaction size or network congestion, which can vary between different chains. For more information about the fixed fee model, refer to Fee models.
You can specify the maximum fee amount to limit the transaction fee. The transaction will fail if the transaction fee exceeds the specified maximum fee amount.
Switch between the tabs to display the properties for different transaction fee models.
Transaction processing type. Possible values are:
AutoProcess (default): After the transaction is constructed, it will be automatically signed and broadcast.BuildOnly: Set to this value if you want to build the transaction first without automatically signing and broadcasting it. You can manually call the Sign and broadcast transaction operation to complete the signing and broadcasting process.AutoProcess, BuildOnly "AutoProcess"
The mode of transaction fee payment using Fee Station. Currently, Fee Station supports transactions made with MPC Wallets on EVM-compatible chains, TRON, and Solana. For more details, refer to Fee Station.
ProActiveAutoFuel: Always use Fee Station to pay transaction fees.PassiveAutoFuel: Use Fee Station only when the source address balance is insufficient to cover transaction fees.UsePortalPreference: Use fueling strategy based on the Portal configuration.DisableAutoFuel: Do not use Fee Station for transaction fee payment under any circumstances.If this parameter is not specified, it defaults to the behavior of UsePortalPreference.
Note: TRON and Solana does not support PassiveAutoFuel due to its fee delegation mechanism.
PassiveAutoFuel, ProActiveAutoFuel, UsePortalPreference, DisableAutoFuel "PassiveAutoFuel"
The request was successful.
The request ID that is used to track a transaction request. The request ID is provided by you and must be unique within your organization.
"f47ac10b-58cc-4372-a567-0e02b2c3d479"
The transaction ID.
"c986cb3b-1301-412f-9450-13a52c43a95f"
The transaction status. For more details including sub-statuses, please refer to Transaction statuses and sub-statuses.
Submitted, PendingScreening, PendingAuthorization, PendingSignature, Broadcasting, Confirming, Completed, Failed, Rejected, Pending "Submitted"