# erc20

```ts
const erc20: readonly [{
  inputs: readonly [{
     indexed: true;
     name: "owner";
     type: "address";
   }, {
     indexed: true;
     name: "spender";
     type: "address";
   }, {
     indexed: false;
     name: "value";
     type: "uint256";
  }];
  name: "Approval";
  type: "event";
}, {
  inputs: readonly [{
     indexed: true;
     name: "from";
     type: "address";
   }, {
     indexed: true;
     name: "to";
     type: "address";
   }, {
     indexed: false;
     name: "value";
     type: "uint256";
  }];
  name: "Transfer";
  type: "event";
}, {
  inputs: readonly [{
     name: "owner";
     type: "address";
   }, {
     name: "spender";
     type: "address";
  }];
  name: "allowance";
  outputs: readonly [{
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     name: "spender";
     type: "address";
   }, {
     name: "amount";
     type: "uint256";
  }];
  name: "approve";
  outputs: readonly [{
     type: "bool";
  }];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     name: "account";
     type: "address";
  }];
  name: "balanceOf";
  outputs: readonly [{
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "decimals";
  outputs: readonly [{
     type: "uint8";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "name";
  outputs: readonly [{
     type: "string";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "symbol";
  outputs: readonly [{
     type: "string";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [];
  name: "totalSupply";
  outputs: readonly [{
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     name: "recipient";
     type: "address";
   }, {
     name: "amount";
     type: "uint256";
  }];
  name: "transfer";
  outputs: readonly [{
     type: "bool";
  }];
  stateMutability: "nonpayable";
  type: "function";
}, {
  inputs: readonly [{
     name: "sender";
     type: "address";
   }, {
     name: "recipient";
     type: "address";
   }, {
     name: "amount";
     type: "uint256";
  }];
  name: "transferFrom";
  outputs: readonly [{
     type: "bool";
  }];
  stateMutability: "nonpayable";
  type: "function";
}];
```

Defined in: node\_modules/.pnpm/viem@2.44.4\_typescript@5.9.3\_zod@4.3.5/node\_modules/viem/\_types/constants/abis.d.ts:365

[ERC-20 Token Standard](https://ethereum.org/en/developers/docs/standards/tokens/erc-20)