# 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](https://docs.belugas.io/comptroller/error-codes).

**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: ...});
```
