Dfns supports Ethereum and many EVM-compatible networks. This guide covers features common to all EVM chains.
Supported EVM networks
Dfns supports numerous EVM-compatible networks including:
| Network | Type |
|---|
| Ethereum | Mainnet |
| Polygon | Layer 2 |
| Arbitrum One | Layer 2 |
| Base | Layer 2 |
| Optimism | Layer 2 |
| Avalanche C-Chain | Layer 1 |
| BNB Smart Chain | Layer 1 |
| Fantom Opera | Layer 1 |
| Celo | Layer 1 |
See the complete list of supported networks.
Gas and fees
All EVM transactions require gas, paid in the network’s native token (ETH, MATIC, etc.).
Gas must always be paid in the native token, even when transferring other tokens. Ensure your wallet has sufficient native token balance before initiating any transaction.
Fee priority
Use the priority field in the Transfer Asset endpoint to control gas prices:
| Priority | Description |
|---|
Slow | Lower gas price, may take longer to confirm |
Standard | Current market gas price |
Fast | Higher gas price for faster confirmation |
Transfers
Use the Transfer Asset endpoint for all EVM transfers:
- Native tokens: Use
kind: Native with amount in wei (1 ETH = 10^18 wei)
- ERC-20 tokens: Use
kind: Erc20 with the token’s contract address
- ERC-721 NFTs: Use
kind: Erc721 with the NFT’s contract address and tokenId
Smart contract interactions
For complex smart contract interactions beyond simple transfers, use the Broadcast Transaction endpoint with kind: Transaction. For fee-sponsored smart contract calls, use kind: UserOperations with a fee sponsor.
Speed up and cancel
EVM transactions can be sped up or cancelled while pending:
Cancellation works by submitting a zero-value transaction with the same nonce and higher gas price. It’s not guaranteed if the original transaction confirms first.
SDK integration
For full transaction control, use the Dfns SDK with viem or ethers.js. See complete examples: