Overview
The Bank precompile exposes native Cosmos SDK token supply and balance views. ERC-20-style transfers happen through registered ERC20 extension/token-pair addresses, not through the static Bank precompile.
Precompile Address: 0x0000000000000000000000000000000000000804
Gas Costs
| Method Type | Gas Cost |
|---|
| Transactions | 2000 + (30 x bytes of input) |
| Queries | 1000 + (3 x bytes of input) |
Transfer behavior
The static Bank precompile documented in the ABI reference exposes balance and supply views. ERC-20-style transfers happen through registered ERC20 extension/token-pair addresses, not through this static Bank address.
Query Methods
| Method | Signature | Returns |
|---|
balances | balances(address account) | (tuple[](address contractAddress,uint256 amount) balances) |
supplyOf | supplyOf(address erc20Address) | (uint256 totalSupply) |
totalSupply | totalSupply() | (tuple[](address contractAddress,uint256 amount) totalSupply) |
Example
// Pseudocode: import the canonical IBank interface for the target release.
IBank constant bank = IBank(0x0000000000000000000000000000000000000804);
// Query native token-pair balances exposed through the bank precompile.
bank.balances(msg.sender);
Cosmos module precompiles use the chain’s native decimal precision. c8ntinuum’s base denom is ctm with exponent 18; check each precompile’s expected amount format before interacting with it.
For the ABI catalog, see Precompile ABI Reference.