USDC
Ethereum ERC-20 Token0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Proxy implementation: 0x43506849d7c04f9138d1a2050bbf3a0c054402dd
Solidity v0.6.12+commit.27d51765
Fungible token following the ERC-20 standard.
Admin & Risk
Who can change the rules?
Detected upgradeable, mintable, pausable, blacklistable, and ownable controls from the verified ABI.
Current controls
- Implementation
- 0x43506849d7c04f9138d1a2050bbf3a0c054402dd ↗ Etherscan → smarts proxy
- Paused
- false
- Owner
- 0xfcb19e6a322b27c06842a71e8c725399f049ae3a ↗ Etherscan → smarts
- Master minter
- 0xe982615d461dd5cd06575bbea87624fda4e3de17 ↗ Etherscan → smarts
- Pauser
- 0x4914f61d25e5c567143774b76edbf4d5109a8566 ↗ Etherscan → smarts
- Blacklister
- 0x0a06be16275b95a7d2567fbdae118b36c7da78f9 ↗ Etherscan → smarts
- Rescuer
- 0x0000000000000000000000000000000000000000 (none)
Recent governance
579 privileged events loaded. Latest: MinterConfigured at block #25,168,397.
Overview
Read Functions
Block #25,169,801 · just nowReturns the EIP-712 type hash used when canceling authorizations.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 | The bytes32 EIP-712 type hash for the CancelAuthorization struct, used to verify cancelAuthorization signatures.✨ AI |
Get the EIP712 Domain Separator.
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 | The bytes32 EIP712 domain separator. |
Returns the EIP-2612 PERMIT_TYPEHASH used to verify permit signatures.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 | The bytes32 keccak256 typehash used in permit (EIP-2612) signature domain.✨ AI |
Returns the EIP-712 type hash used for receiveWithAuthorization messages.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 | The EIP-712 type hash (bytes32) used to sign receiveWithAuthorization authorizations.✨ AI |
Returns the EIP-712 type hash used to authorize off-chain transferWithAuthorization messages.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | bytes32 | The bytes32 EIP-712 type hash for transferWithAuthorization.✨ AI |
Return the remaining token allowance that owner granted to spender.✨ AI
Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | Address that granted the allowance.✨ AI |
| spender | address | Address authorized to spend tokens from the owner's balance.✨ AI |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | Remaining allowance as a uint256 representing how many tokens spender may transfer from owner.✨ AI |
Returns the state of an authorization
Parameters
| Name | Type | Description |
|---|---|---|
| authorizer | address | Authorizer's address |
| nonce | bytes32 | Nonce of the authorization |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the nonce is used |
Returns the token balance of the specified account.✨ AI
Parameters
| Name | Type | Description |
|---|---|---|
| account | address | Address whose token balance to query.✨ AI |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | The account's token balance as a uint256.✨ AI |
Returns the address authorized to manage the contract's blacklist.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | address | The address currently designated as the blacklister.✨ AI |
Returns the token's currency identifier string used for display and accounting.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | string | The token's currency identifier string (for example, USD).✨ AI |
Return the number of decimal places used for token amounts and UI display.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | uint8 | Number of decimal places the token uses, as a uint8 (e.g., 2 means amounts have two decimal places).✨ AI |
Checks if account is blacklisted.
Parameters
| Name | Type | Description |
|---|---|---|
| _account | address | The address to check. |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the account is blacklisted, false if the account is not blacklisted. |
Checks if an account is a minter.
Parameters
| Name | Type | Description |
|---|---|---|
| account | address | The address to check. |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the account is a minter, false if the account is not a minter. |
Returns the address of the current master minter.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | address | The address that holds the master minter role and can assign or revoke minters.✨ AI |
Gets the minter allowance for an account.
Parameters
| Name | Type | Description |
|---|---|---|
| minter | address | The address to check. |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | The remaining minter allowance for the account. |
Returns the token's name.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | string | The token's name as a string.✨ AI |
Nonces for permit
Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | Token owner's address (Authorizer) |
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | Next nonce |
Returns the address of the contract owner.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | address | the address of the owner |
Check whether token transfers and other restricted operations are currently paused.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the contract is paused (restricted operations disabled); false if it is active.✨ AI |
Returns the address that currently holds the token pauser role.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | address | The account address authorized to pause or unpause token transfers.✨ AI |
Returns current rescuer
Returns
| Name | Type | Description |
|---|---|---|
| — | address | Rescuer's address |
Returns the token's symbol string.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | string | The token symbol (e.g., "USDC").✨ AI |
Returns the total number of tokens in circulation for this ERC-20 token.✨ AI
Returns
| Name | Type | Description |
|---|---|---|
| — | uint256 | Total token supply expressed in the token's smallest unit (uint256).✨ AI |
Version string for the EIP712 domain separator
Returns
| Name | Type | Description |
|---|---|---|
| — | string | Version string |
Write Functions
Set allowance for spender to transfer up to value tokens from the caller's account.✨ AI
Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | Address granted permission to spend tokens on behalf of the caller.✨ AI |
| value | uint256 | Maximum number of tokens the spender is allowed to transfer.✨ AI |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the approval was set successfully, false otherwise.✨ AI |
Adds account to blacklist.
Parameters
| Name | Type | Description |
|---|---|---|
| _account | address | The address to blacklist. |
Allows a minter to burn some of its own tokens.
Parameters
| Name | Type | Description |
|---|---|---|
| _amount | uint256 | the amount of tokens to be burned. |
Attempt to cancel an authorization
Parameters
| Name | Type | Description |
|---|---|---|
| authorizer | address | Authorizer's address |
| nonce | bytes32 | Nonce of the authorization |
| v | uint8 | |
| r | bytes32 | |
| s | bytes32 |
Attempt to cancel an authorization
Parameters
| Name | Type | Description |
|---|---|---|
| authorizer | address | Authorizer's address |
| nonce | bytes32 | Nonce of the authorization |
| signature | bytes | Signature bytes signed by an EOA wallet or a contract wallet |
Adds or updates a new minter with a mint allowance.
Parameters
| Name | Type | Description |
|---|---|---|
| minter | address | The address of the minter. |
| minterAllowedAmount | uint256 | The minting amount allowed for the minter. |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the operation was successful. |
Decrease the allowance by a given decrement
Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | Spender's address |
| decrement | uint256 | Amount of decrease in allowance |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if successful |
Increase the allowance by a given increment
Parameters
| Name | Type | Description |
|---|---|---|
| spender | address | Spender's address |
| increment | uint256 | Amount of increase in allowance |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if successful |
Initializes the fiat token contract.
Parameters
| Name | Type | Description |
|---|---|---|
| tokenName | string | The name of the fiat token. |
| tokenSymbol | string | The symbol of the fiat token. |
| tokenCurrency | string | The fiat currency that the token represents. |
| tokenDecimals | uint8 | The number of decimals that the token uses. |
| newMasterMinter | address | The masterMinter address for the fiat token. |
| newPauser | address | The pauser address for the fiat token. |
| newBlacklister | address | The blacklister address for the fiat token. |
| newOwner | address | The owner of the fiat token. |
Initialize v2
Parameters
| Name | Type | Description |
|---|---|---|
| newName | string | New token name |
Initialize v2.1
Parameters
| Name | Type | Description |
|---|---|---|
| lostAndFound | address | The address to which the locked funds are sent |
Initialize v2.2
Parameters
| Name | Type | Description |
|---|---|---|
| accountsToBlacklist | address[] | A list of accounts to migrate from the old blacklist |
| newSymbol | string | New token symbol data structure to the new blacklist data structure. |
Mints fiat tokens to an address.
Parameters
| Name | Type | Description |
|---|---|---|
| _to | address | The address that will receive the minted tokens. |
| _amount | uint256 | The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller. |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the operation was successful. |
Pauses token transfers and other actions that require the contract to be unpaused.✨ AI
Update allowance with a signed permit
Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | Token owner's address (Authorizer) |
| spender | address | Spender's address |
| value | uint256 | Amount of allowance |
| deadline | uint256 | The time at which the signature expires (unix time), or max uint256 value to signal no expiration |
| signature | bytes | Signature bytes signed by an EOA wallet or a contract wallet |
Update allowance with a signed permit
Parameters
| Name | Type | Description |
|---|---|---|
| owner | address | Token owner's address (Authorizer) |
| spender | address | Spender's address |
| value | uint256 | Amount of allowance |
| deadline | uint256 | The time at which the signature expires (unix time), or max uint256 value to signal no expiration |
| v | uint8 | |
| r | bytes32 | |
| s | bytes32 |
Receive a transfer with a signed authorization from the payer
Parameters
| Name | Type | Description |
|---|---|---|
| from | address | Payer's address (Authorizer) |
| to | address | Payee's address |
| value | uint256 | Amount to be transferred |
| validAfter | uint256 | The time after which this is valid (unix time) |
| validBefore | uint256 | The time before which this is valid (unix time) |
| nonce | bytes32 | Unique nonce |
| signature | bytes | Signature bytes signed by an EOA wallet or a contract wallet |
Receive a transfer with a signed authorization from the payer
Parameters
| Name | Type | Description |
|---|---|---|
| from | address | Payer's address (Authorizer) |
| to | address | Payee's address |
| value | uint256 | Amount to be transferred |
| validAfter | uint256 | The time after which this is valid (unix time) |
| validBefore | uint256 | The time before which this is valid (unix time) |
| nonce | bytes32 | Unique nonce |
| v | uint8 | |
| r | bytes32 | |
| s | bytes32 |
Removes a minter.
Parameters
| Name | Type | Description |
|---|---|---|
| minter | address | The address of the minter to remove. |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the operation was successful. |
Rescue ERC20 tokens locked up in this contract.
Parameters
| Name | Type | Description |
|---|---|---|
| tokenContract | address | ERC20 token contract address |
| to | address | Recipient address |
| amount | uint256 | Amount to withdraw |
Transfer tokens from the caller's account to the specified recipient address.✨ AI
Parameters
| Name | Type | Description |
|---|---|---|
| to | address | Recipient address that will receive the tokens.✨ AI |
| value | uint256 | Amount of tokens to transfer, in the token's smallest unit.✨ AI |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | True if the transfer succeeded.✨ AI |
Transfer tokens from a source account to a destination using the caller's allowance.✨ AI
Parameters
| Name | Type | Description |
|---|---|---|
| from | address | Address whose token balance will be reduced.✨ AI |
| to | address | Address whose token balance will be increased.✨ AI |
| value | uint256 | Number of tokens to transfer, expressed in the token's smallest unit.✨ AI |
Returns
| Name | Type | Description |
|---|---|---|
| — | bool | Boolean indicating whether the transfer succeeded and the caller's allowance was updated.✨ AI |
Transfers contract ownership to the specified new owner address.✨ AI
Parameters
| Name | Type | Description |
|---|---|---|
| newOwner | address | The address to transfer ownership to. |
Execute a transfer with a signed authorization
Parameters
| Name | Type | Description |
|---|---|---|
| from | address | Payer's address (Authorizer) |
| to | address | Payee's address |
| value | uint256 | Amount to be transferred |
| validAfter | uint256 | The time after which this is valid (unix time) |
| validBefore | uint256 | The time before which this is valid (unix time) |
| nonce | bytes32 | Unique nonce |
| signature | bytes | Signature bytes signed by an EOA wallet or a contract wallet |
Execute a transfer with a signed authorization
Parameters
| Name | Type | Description |
|---|---|---|
| from | address | Payer's address (Authorizer) |
| to | address | Payee's address |
| value | uint256 | Amount to be transferred |
| validAfter | uint256 | The time after which this is valid (unix time) |
| validBefore | uint256 | The time before which this is valid (unix time) |
| nonce | bytes32 | Unique nonce |
| v | uint8 | |
| r | bytes32 | |
| s | bytes32 |
Removes account from blacklist.
Parameters
| Name | Type | Description |
|---|---|---|
| _account | address | The address to remove from the blacklist. |
Unpauses the contract and resumes token transfers and other paused operations.✨ AI
Updates the blacklister address.
Parameters
| Name | Type | Description |
|---|---|---|
| _newBlacklister | address | The address of the new blacklister. |
Updates the master minter address.
Parameters
| Name | Type | Description |
|---|---|---|
| _newMasterMinter | address | The address of the new master minter. |
Updates the pauser address.
Parameters
| Name | Type | Description |
|---|---|---|
| _newPauser | address | The address of the new pauser. |
Updates the rescuer address.
Parameters
| Name | Type | Description |
|---|---|---|
| newRescuer | address | The address of the new rescuer. |
Events
| Name | Type | Indexed | Description |
|---|---|---|---|
| owner | address | ✓ | |
| spender | address | ✓ | |
| value | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| authorizer | address | ✓ | |
| nonce | bytes32 | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| authorizer | address | ✓ | |
| nonce | bytes32 | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| _account | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| newBlacklister | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| burner | address | ✓ | |
| amount | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| newMasterMinter | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| minter | address | ✓ | |
| to | address | ✓ | |
| amount | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| minter | address | ✓ | |
| minterAllowedAmount | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| oldMinter | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| previousOwner | address | representing the address of the previous owner | |
| newOwner | address | representing the address of the new owner |
| Name | Type | Indexed | Description |
|---|---|---|---|
| newAddress | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| newRescuer | address | ✓ |
| Name | Type | Indexed | Description |
|---|---|---|---|
| from | address | ✓ | |
| to | address | ✓ | |
| value | uint256 |
| Name | Type | Indexed | Description |
|---|---|---|---|
| _account | address | ✓ |