> For the complete documentation index, see [llms.txt](https://docs.belugas.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.belugas.io/comptroller/enter-markets.md).

# Enter Markets

Enter into a list of markets - it is not an error to enter the same market more than once. In order to supply collateral or borrow in a market, it must be entered first.

**Comptroller**

```
function enterMarkets(address[] calldata bTokens) returns (uint[] memory)
```

* `msg.sender`: The account which shall enter the given markets.
* `bTokens`: The addresses of the bToken markets to enter.
* `RETURN`: For each market, returns an error code indicating whether or not it was entered. Each is 0 on success, otherwise an [Error code](/comptroller/error-codes.md).

**Solidity**

```
Comptroller troll = Comptroller(0xABCD...);
BToken[] memory bTokens = new BToken[](2);
bTokens[0] = BErc20(0x3FDA...);
bTokens[1] = CEther(0x3FDB...);
uint[] memory errors = troll.enterMarkets(bTokens);
```

**Web3 1.0**

```javascript
const troll = Comptroller.at(0xABCD...);
const bTokens = [BErc20.at(0x3FDA...), CEther.at(0x3FDB...)];
const errors = await troll.methods.enterMarkets(bTokens).send({from: ...});
```
