USDe

Ethereum ERC-20 Token Browse chains

0x4c9edd5852cd905f086c759e8383e09bff1e68b3

Solidity v0.8.19+commit.7dd6d404

Fungible token following the ERC-20 standard.

🤖
Query this contract from your AI
Reference: usde-eth 0x4c9edd5852cd905f086c759e8383e09bff1e68b3
Sample prompt: "Tell me the current state of usde-eth"
No AI wired up yet? → mcp.smarts.md · Browse chains

Admin & Risk

Who can change the rules?

Block #25,493,362

Detected mintable and ownable controls from the verified ABI.

Mintable Ownable

Current controls

Owner
0x3b0aaf6e6fcd4a7ceef8c92c32dfea9e64dc1862 ↗ Etherscan → smarts

Overview

Read Functions
13
Write Functions
12
Events
6

Read Functions

Block #25,493,362 · just now
DOMAIN_SEPARATOR() view → 0x74fbd8ad78eb7732edc209f83d2dc23f7472a05cdbfd5dfc0f210dad2f967cb3

Returns the EIP-712 domain separator used for signing typed data.✨ AI

Returns

Name Type Description
bytes32 The EIP-712 DOMAIN_SEPARATOR as a bytes32 value used in typed data hashing and signature verification.✨ AI
allowance(owner: address, spender: address) view

Returns the remaining number of tokens that spender is allowed to transfer from owner.✨ AI

dev: See {IERC20-allowance}.

Parameters

Name Type Description
owner address Address of the token holder whose allowance is being queried.✨ AI
spender address Address authorized to spend tokens on behalf of the owner.✨ AI

Returns

Name Type Description
uint256 Remaining allowance as a uint256 in the token's smallest unit that spender may transfer from owner.✨ AI
balanceOf(account: address) view

Returns the USDe token balance for the given account.✨ AI

dev: See {IERC20-balanceOf}.

Parameters

Name Type Description
account address Address whose USDe token balance will be returned.✨ AI

Returns

Name Type Description
uint256 The account's USDe token balance as a uint256 amount.✨ AI
decimals() view → 18

Return the token's number of decimals used for display and calculations.✨ AI

dev: Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.

Returns

Name Type Description
uint8 The number of decimal places the token uses (defines smallest unit and display precision).✨ AI
eip712Domain() view → 0x0f, USDe, 1, 1, 0x4c9edd5852cd905f086c759e8383e09bff1e68b3, 0x0000000000000000000000000000000000000000000000000000000000000000, []

Return the EIP-712 domain parameters used for signing messages and meta-transactions.✨ AI

dev: See {EIP-5267}. _Available since v4.9._

Returns

Name Type Description
fields bytes1 fields: bitmask (bytes1) indicating which optional domain fields are present✨ AI
name string name: human-readable name of the signing domain (typically the token name)✨ AI
version string version: version string used for domain separation and protocol upgrades✨ AI
chainId uint256 chainId: uint256 chain identifier used in the EIP-712 domain✨ AI
verifyingContract address verifyingContract: address of the contract that verifies EIP-712 signatures✨ AI
salt bytes32 salt: 32-byte salt value (bytes32) used as extra domain separation✨ AI
extensions uint256[] extensions: uint256[] array of extension values reserved for future domain fields✨ AI
minter() view → 0xe3490297a08d6fc8da46edb7b6142e4f461b62d3

Returns the address currently authorized as the token minter.✨ AI

Returns

Name Type Description
address The address authorized to mint new USDe tokens.✨ AI
name() view → USDe

Returns the token's name.✨ AI

dev: Returns the name of the token.

Returns

Name Type Description
string The ERC-20 token name as a human-readable string.✨ AI
nonces(owner: address) view

Returns the current nonce for an address used when validating signature-based approvals.✨ AI

dev: See {IERC20Permit-nonces}.

Parameters

Name Type Description
owner address Address whose nonce is returned.✨ AI

Returns

Name Type Description
uint256 Current nonce for the owner address, used to prevent replay of permit/signature operations.✨ AI
owner() view → 0x3b0aaf6e6fcd4a7ceef8c92c32dfea9e64dc1862

Returns the contract owner's address.✨ AI

dev: Returns the address of the current owner.

Returns

Name Type Description
address The address of the account that has owner privileges.✨ AI
pendingOwner() view → 0x0000000000000000000000000000000000000000

Returns the address currently nominated as the pending owner.✨ AI

dev: Returns the address of the pending owner.

Returns

Name Type Description
address Address nominated to become the contract owner; this account must accept ownership to complete the transfer.✨ AI
renounceOwnership() view reverted

Indicate that the contract owner has renounced ownership without modifying contract state.✨ AI

dev: Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.
symbol() view → USDe

Returns the token symbol used to identify this USDe ERC-20 token.✨ AI

dev: Returns the symbol of the token, usually a shorter version of the name.

Returns

Name Type Description
string The token symbol string (for example "USDe").✨ AI
totalSupply() view → 4,389,773,563.24 USDe

Returns the total number of tokens in existence.✨ AI

dev: See {IERC20-totalSupply}.

Returns

Name Type Description
uint256 uint256 representing the total token supply (includes minted tokens minus burned tokens).✨ AI

Write Functions

acceptOwnership() nonpayable

Complete the transfer of contract ownership when called by the pending owner.✨ AI

dev: The new owner accepts the ownership transfer.
approve(spender: address, amount: uint256) nonpayable

Approve a spender to transfer up to amount of your USDe tokens.✨ AI

dev: See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.

Parameters

Name Type Description
spender address Address authorized to spend tokens on behalf of the caller.✨ AI
amount uint256 Maximum number of tokens the spender is allowed to transfer.✨ AI

Returns

Name Type Description
bool True if the approval succeeds.✨ AI
burn(amount: uint256) nonpayable

Burns a specified amount of tokens from the caller's balance and reduces the total supply.✨ AI

dev: Destroys `amount` tokens from the caller. See {ERC20-_burn}.

Parameters

Name Type Description
amount uint256 Number of tokens to burn from caller's balance, expressed in the token's smallest unit (uint256).✨ AI
burnFrom(account: address, amount: uint256) nonpayable

Burns tokens from an account by using and reducing the caller's allowance.✨ AI

dev: Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.

Parameters

Name Type Description
account address Address to burn tokens from.✨ AI
amount uint256 Amount of tokens to burn.✨ AI
decreaseAllowance(spender: address, subtractedValue: uint256) nonpayable

Decrease the caller's ERC-20 allowance for a spender by a specified amount.✨ AI

dev: Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.

Parameters

Name Type Description
spender address Address that is allowed to spend the caller's tokens.✨ AI
subtractedValue uint256 Amount to subtract from the current allowance, in token smallest units.✨ AI

Returns

Name Type Description
bool true if the allowance was successfully decreased, false otherwise.✨ AI
increaseAllowance(spender: address, addedValue: uint256) nonpayable

Atomically increases the caller's ERC-20 allowance for spender by addedValue.✨ AI

dev: Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.

Parameters

Name Type Description
spender address Address approved to spend tokens on behalf of the caller.✨ AI
addedValue uint256 Amount (in token smallest units) to add to the existing allowance.✨ AI

Returns

Name Type Description
bool Boolean true if the allowance was increased successfully.✨ AI
mint(to: address, amount: uint256) nonpayable

Mints new USDe tokens and assigns them to the specified recipient address.✨ AI

dev: Callable only by authorized minters; increases totalSupply and emits a Transfer(from=0x0,to,amount); reverts on zero address.✨ AI

Parameters

Name Type Description
to address Recipient address that will receive the minted tokens.✨ AI
amount uint256 Amount of tokens to mint, expressed in the token's smallest unit (wei-like).✨ AI
permit(owner: address, spender: address, value: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32) nonpayable

Sets spender's allowance for owner's tokens using an off-chain EIP-2612 signature.✨ AI

dev: See {IERC20Permit-permit}.

Parameters

Name Type Description
owner address Address of token owner who signed the permit.✨ AI
spender address Address authorized to spend the owner's tokens.✨ AI
value uint256 Amount of tokens to approve, in the token's smallest unit.✨ AI
deadline uint256 Unix timestamp after which the signature is invalid.✨ AI
v uint8 Recovery byte of the owner's ECDSA signature.✨ AI
r bytes32 First 32 bytes of the owner's ECDSA signature.✨ AI
s bytes32 Second 32 bytes of the owner's ECDSA signature.✨ AI
setMinter(newMinter: address) nonpayable

Assign a new address as the minter for minting USDe tokens.✨ AI

Parameters

Name Type Description
newMinter address Address to grant permission to mint new USDe tokens.✨ AI
transfer(to: address, amount: uint256) nonpayable

Transfer tokens from the caller's account to the specified address.✨ AI

dev: See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.

Parameters

Name Type Description
to address Recipient address that will receive the tokens.✨ AI
amount uint256 Amount of tokens to send, expressed in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeded and balances were updated; otherwise false.✨ AI
transferFrom(from: address, to: address, amount: uint256) nonpayable

Transfer tokens from a specified address to another using the caller's allowance.✨ AI

dev: See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.

Parameters

Name Type Description
from address Address to debit the tokens from.✨ AI
to address Address to receive the tokens.✨ AI
amount uint256 Amount of tokens to transfer, in the token's smallest unit.✨ AI

Returns

Name Type Description
bool True if the transfer succeeds.✨ AI
transferOwnership(newOwner: address) nonpayable

Transfers contract ownership to the specified newOwner.✨ AI

dev: Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. Can only be called by the current owner.

Parameters

Name Type Description
newOwner address The address that will become the new owner; must not be the zero address.✨ AI

Events

Approval(owner: address, spender: address, value: uint256)
Name Type Indexed Description
owner address
spender address
value uint256
EIP712DomainChanged()
MinterUpdated(newMinter: address, oldMinter: address)

This event is fired when the minter changes

Name Type Indexed Description
newMinter address
oldMinter address
OwnershipTransferStarted(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
Transfer(from: address, to: address, value: uint256)
Name Type Indexed Description
from address
to address
value uint256