Sending USDC, or other ERC-20 tokens, is one of the most common actions taken by wallet users on Ethereum-based chains. This guide will walk you through how to format the transaction input data for these tokens, using USDC as an example.Documentation Index
Fetch the complete documentation index at: https://docs.privy.io/llms.txt
Use this file to discover all available pages before exploring further.
1. Get the USDC contract address
To send USDC, you’ll need the contract address for USDC. The address is different for each network, so make sure you get the correct address for the network you’re targeting. You can go to Circle’s website to look up the USDC address on both main networks and test networks.2. Format the transaction send input data
USDC, and other ERC-20 tokens, are smart contracts. In order to send these tokens, your transaction needs to call thetransfer function on the contract, which takes in two parameters:
to: The address of the recipientvalue: The amount of tokens to send
viem to provide the ABI and encode the function parameters.
Additionally, each ERC-20 token defines a decimals value, which is the number of decimal places for the token. For USDC, the decimals value is usually 6, but for most other ERC-20 tokens, it’s 18.

