The USDC contract is at 0xdac17f958d2ee523a2206206994597c13d831ec7
-- code is pulled from https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code
The mint/burn logic is controlled by issue
and redeem
// Issue a new amount of tokens
// these tokens are deposited into the owner address
//
// @param _amount Number of tokens to be issued
function issue(uint amount) public onlyOwner {
require(_totalSupply + amount > _totalSupply);
require(balances[owner] + amount > balances[owner]);
balances[owner] += amount;
_totalSupply += amount;
Issue(amount);
}
// Redeem tokens.
// These tokens are withdrawn from the owner address
// if the balance must be enough to cover the redeem
// or the call will fail.
// @param _amount Number of tokens to be issued
function redeem(uint amount) public onlyOwner {
require(_totalSupply >= amount);
require(balances[owner] >= amount);
_totalSupply -= amount;
balances[owner] -= amount;
Redeem(amount);
}
In this case, it appears that only the Tether contract owner has the ability to issue/redeem.
Calling getOwner()
on the contract returns 0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828
.
Etherscan has this contract labeled as 'BitFinex MultiSig 2' - https://etherscan.io/address/0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828