# EVM Raw Transactions Use the EVM raw transaction format to create arbitrary EVM contract calls. For simple transfers or allowance revocations, consider using the dedicated higher-level formats (see [EVM Transfers](/developers/transaction-types/transfers#evm-transfers) and [EVM Revoke Allowances](/developers/transaction-types/evm-revoke-allowances)). For more tutorials on calling EVM smart contracts, check out our [pubic API Examples repository on Github.](https://github.com/FordefiHQ/api-examples/tree/main/typescript/evm) JSON-RPC Provider An alternative to Fordefi's REST API is the Fordefi [JSON-RPC Provider interface](/developers/web3-provider). When creating an EVM transaction request, call the [Create Transaction](/api/openapi/transactions/create_transaction_api_v1_transactions_post) API and specify the following parameters in the request. ## Required parameters ### Request type parameters - `type`: Set to `evm_transaction` - `details.type`: Set to `evm_raw_transaction` - `signer_type`: In most cases, set it to `api_signer` ### Network parameter - `chain`: The target chain (can be specified as chain name or chain ID) Chain Id ```json { // ... "chain": "evm_1" } ``` Chain Name ```json { // ... "chain": "evm_ethereum_mainnet" } ``` ### Transaction parameters - `vault_id`: The origin vault identifier - `to`: The recipient's address - `value`: The transaction value in wei - `data`: The call data, which can be specified in either hex or Base64 format. The following examples show how to create transaction requests using the two different supported data formats. The request should be signed, as demonstrated [here](/developers/authentication#request-signing). Hex Data ```json { "vault_id": "16b5aa12-509e-4944-b656-cf096515d627", "signer_type": "api_signer", "type": "evm_transaction", "details": { "type": "evm_raw_transaction", "chain": "ethereum_mainnet", "to": "0x565697B5DD1F7Bdc61f774807057D058E5A27cbC", "value": "0", "data": { "type": "hex", "hex_data": "0x0d1d7ae50000000000000000000000000000000000000000000000000000000000000006" } } } ``` Base64 Data ```json { "vault_id": "16b5aa12-509e-4944-b656-cf096515d627", "signer_type": "api_signer", "type": "evm_transaction", "details": { "type": "evm_raw_transaction", "chain": "ethereum_mainnet", "to": "0x565697B5DD1F7Bdc61f774807057D058E5A27cbC", "value": "0", "data": { "type": "base64", "raw_data": "DR165QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG" } } } ``` ## Optional: MEV protection Fordefi offers MEV protection for transactions on Ethereum Mainnet by sending the transaction to a secure node (Flashbots Protect) as opposed to the public mempool. To enable MEV protection, set the `use_secure_node` field to `true`. ```json { // ... "details": { // ... "use_secure_node": true } } ```