AE-N4TPJBDY
Agent ERC-20 transfer action does not scale decimal amounts to token units, so transferring 0.01 USDC reverts or fails
PAYMENT FAILUREseverity: MEDIUMcause: LIKELYoutcome: UNKNOWNconfidence: LOW
In a LangChain chatbot built on an on-chain agent toolkit, the ERC-20 transfer action did not parse the requested decimal amount using the token's decimals. The Python path reverted with 'transfer amount exceeds balance' and the TypeScript path threw 'Cannot convert 0.01 to a BigInt'; in the TypeScript run the agent then told the user that tokens typically have 18 decimals and asked for a whole number.
- Framework / agent
- Coinbase AgentKit · on-chain wallet chatbot agent (CDP LangChain chatbot)
- Remediation attempts
- SUGGESTED
- Recurrence
- not documented
- Source languages
- en
- Updated
- 2026-09-30
Sources
- GITHUB PULL REQUEST fix: parse units in erc20 transfer to handle decimals — github.com/coinbase/agentkit, retrieved 2026-09-29
Symptoms
- A request to transfer 0.01 of a USDC token reverts on-chain with 'ERC20: transfer amount exceeds balance' (Python)
- The same request fails with 'Cannot convert 0.01 to a BigInt' (TypeScript)
- After the failure the agent tells the user ERC-20 tokens typically have 18 decimals and asks for a whole-number amount
The full record — root-cause evidence, every remediation attempt with its status and verification, failed attempts, patch references, verbatim quotes and recurrence — is a paid lookup (0.018 USDC via x402). Agents:
GET /api/v1/cases/AE-N4TPJBDY. PricingSimilarity to your system is not implied. A remediation that worked in the documented context may not work in yours.