# Bank

[Bank ](https://github.com/oraidex/evm-entry-point/blob/main/packages/contracts/contracts/precompiles/IBank.sol)Precompiles contract is a gate-way that allowed Solidity contracts can interact with Cosmos SDK Bank module. This is convenient for developers as they don’t need to know the implementation details behind the `x/bank` module in the Cosmos SDK. Instead, they can interact with bank functions using the Ethereum interface they are familiar with.

## Solidity Interfaces

The Bank solidity interface includes the following transactions

* send

Send defined a method that perform sending logic to a specific address

```
function send(
        address toAddress,
        string memory denom,
        uint256 amount
    ) external returns (bool success);
```

* burn

Burn defined a method that perform burning amount of token from a specific address

```
function burn(
        address account,
        string memory denom,
        uint256 amount
    ) external returns (bool success);
```

* balance

Balance defined a query method that get a user balance of a specific denomination

```
function balance(
        address acc,
        string memory denom
    ) external view returns (uint256 amount);
```

* name

Get the Name that defined in Token Metadata

```
function name(
        string memory denom
    ) external view returns (string memory response);
```

* symbol

Get the Symbol that defined in Token Metadata

```
function symbol(
        string memory denom
    ) external view returns (string memory response);
```

* decimals

Get the token decimals that defined in Token Metadata

```
function decimals(
        string memory denom
    ) external view returns (uint8 response);
```

* supply

Get the total supply of the token

```
function supply(
        string memory denom
    ) external view returns (uint256 response);
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.orai.io/developer-guides/oraichainevm/smart-contracts/bank.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
