# Are there any API that can send transactions to ERC20 smart contract like transferFrom, mint or burn

**URL:** <https://community.fireblocks.com/t/are-there-any-api-that-can-send-transactions-to-erc20-smart-contract-like-transferfrom-mint-or-burn/252>\
**Category:** Support\
**Created:** [August 7, 2023, 5:50pm UTC](https://community.fireblocks.com/t/are-there-any-api-that-can-send-transactions-to-erc20-smart-contract-like-transferfrom-mint-or-burn/252 "2023-08-07T17:50:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![shahzad73](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@shahzad73](https://community.fireblocks.com/u/shahzad73)\
**Post date:** [August 7, 2023, 5:50pm UTC](https://community.fireblocks.com/t/are-there-any-api-that-can-send-transactions-to-erc20-smart-contract-like-transferfrom-mint-or-burn/252/1 "2023-08-07T17:50:40Z")

</div>

I was looking for API that can call smart contract functionalities like transferFrom, mint or burn. We will give ownership of the ERC20 contract to FireBlocks custodian account and then we will need API that can call these functionalities.

---

<div class="post-metadata">

**Author:** ![alec](https://sea1.discourse-cdn.com/flex015/user_avatar/community.fireblocks.com/alec/32/112_2.png) [@alec](https://community.fireblocks.com/u/alec)\
**Post date:** [August 7, 2023, 7:35pm UTC](https://community.fireblocks.com/t/are-there-any-api-that-can-send-transactions-to-erc20-smart-contract-like-transferfrom-mint-or-burn/252/2 "2023-08-07T19:35:42Z")

</div>

Hi @shahzad73

You can call any method on any deployed contract on supported EVM networks via Fireblocks’ [POST /v1/transactions endpoint](https://developers.fireblocks.com/reference/post_transactions). Set the `operation` parameter to `CONTRACT_CALL`, set the `asset` to the base asset of the target blockchain, set the `destination` to the address of the deployed contract, and pass the contract callData in `extraParameters.contractCallData`. Here’s an example of what this would look like using our Javascript SDK:

```auto
fireblocksApiClient.createTransaction({
    operation: TransactionOperation.CONTRACT_CALL,
    assetId: "ETH",
    source: {
        type: PeerType.VAULT_ACCOUNT,
        id: "0" /* Source Vault Account ID */
    },
    destination: {
        type: PeerType.EXTERNAL_WALLET,
        id: externalWalletId
    },
    note: "Contract Call Transaction",
    amount: "0",
    extraParameters: {
        contractCallData: "0x38ed17390000000000000000000000000000000000000000000000000000000bb6c179cc" /* Data Payload */
    }
});

```

Alternatively, you can develop your contract call logic with Hardhat, Truffle, Brownie, or Foundry, and send the transaction via Fireblocks. See [this article](https://developers.fireblocks.com/docs/ethereum-smart-contract-development#overview) for more information.

---

<div class="post-metadata">

**Author:** ![SlavaSereb](https://avatars.discourse-cdn.com/v4/letter/s/dfb087/32.png) [@SlavaSereb](https://community.fireblocks.com/u/SlavaSereb)\
**Post date:** [August 7, 2023, 8:18pm UTC](https://community.fireblocks.com/t/are-there-any-api-that-can-send-transactions-to-erc20-smart-contract-like-transferfrom-mint-or-burn/252/3 "2023-08-07T20:18:25Z")

</div>

Just to add to what @alec mentioned, I also strongly recommend to check out our web3 provider:

> **[Ethereum Smart Contract Development](https://developers.fireblocks.com/docs/ethereum-smart-contract-development)**
>
> OverviewSmart contract development frameworks make it easy to develop, test, and deploy smart contracts on EVM-based blockchains.The following guide contains: Deploy your contract by using HardhatDeploy your contract by using TruffleDeploy your...

If you’re working with web3.js or ethers.js - integrating with Fireblocks would be seamless using this tool.

If your stack is not in js/ts, you might also want to check out our local json RPC provider (last section of the guide from the above).

Also, we have abstracted the minting and burning operations in our API, so if you want to mint an ERC20 token via our API and you have the token listed in your workspace, you can simply call the create transaction API with `operation: “MINT”` (the calling wallet should have minting permissions on the token).

---

<div class="post-metadata">

**Author:** ![shahzad73](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@shahzad73](https://community.fireblocks.com/u/shahzad73)\
**Post date:** [August 8, 2023, 5:09pm UTC](https://community.fireblocks.com/t/are-there-any-api-that-can-send-transactions-to-erc20-smart-contract-like-transferfrom-mint-or-burn/252/5 "2023-08-08T17:09:36Z")

</div>

yup that’s the one i was looking for and also familiar
