# Comptroller Error Code

### Error Codes

<table><thead><tr><th width="144">Code</th><th>Name</th><th>Description</th></tr></thead><tbody><tr><td>0</td><td>NO_ERROR</td><td>Not a failure.</td></tr><tr><td>1</td><td>UNAUTHORIZED</td><td>The sender is not authorized to perform this action.</td></tr><tr><td>2</td><td>COMPTROLLER_MISMATCH</td><td>Liquidation cannot be performed in markets with different comptrollers.</td></tr><tr><td>3</td><td>INSUFFICIENT_SHORTFALL</td><td>The account does not have sufficient shortfall to perform this action.</td></tr><tr><td>4</td><td>INSUFFICIENT_LIQUIDITY</td><td>The account does not have sufficient liquidity to perform this action.</td></tr><tr><td>5</td><td>INVALID_CLOSE_FACTOR</td><td>The close factor is not valid.</td></tr><tr><td>6</td><td>INVALID_COLLATERAL_FACTOR</td><td>The collateral factor is not valid.</td></tr><tr><td>7</td><td>INVALID_LIQUIDATION_INCENTIVE</td><td>The liquidation incentive is invalid.</td></tr><tr><td>8</td><td>MARKET_NOT_ENTERED</td><td>The market has not been entered by the account.</td></tr><tr><td>9</td><td>MARKET_NOT_LISTED</td><td>The market is not currently listed by the comptroller.</td></tr><tr><td>10</td><td>MARKET_ALREADY_LISTED</td><td>An admin tried to list the same market more than once.</td></tr><tr><td>11</td><td>MATH_ERROR</td><td>A math calculation error occurred.</td></tr><tr><td>12</td><td>NONZERO_BORROW_BALANCE</td><td>The action cannot be performed since the account carries a borrow balance.</td></tr><tr><td>13</td><td>PRICE_ERROR</td><td>The comptroller could not obtain a required price of an asset.</td></tr><tr><td>14</td><td>REJECTION</td><td>The comptroller rejects the action requested by the market.</td></tr><tr><td>15</td><td>SNAPSHOT_ERROR</td><td>The comptroller could not get the account borrows and exchange rate from the market.</td></tr><tr><td>16</td><td>TOO_MANY_ASSETS</td><td>Attempted to enter more markets than are currently supported.</td></tr><tr><td>17</td><td>TOO_MUCH_REPAY</td><td>Attempted to repay more than is allowed by the protocol.</td></tr></tbody></table>

### Failure Information

<table><thead><tr><th width="143">Code</th><th>Name</th></tr></thead><tbody><tr><td>0</td><td>ACCEPT_ADMIN_PENDING_ADMIN_CHECK</td></tr><tr><td>1</td><td>ACCEPT_PENDING_IMPLEMENTATION_ADDRESS_CHECK</td></tr><tr><td>2</td><td>EXIT_MARKET_BALANCE_OWED</td></tr><tr><td>3</td><td>EXIT_MARKET_REJECTION</td></tr><tr><td>4</td><td>SET_CLOSE_FACTOR_OWNER_CHECK</td></tr><tr><td>5</td><td>SET_CLOSE_FACTOR_VALIDATION</td></tr><tr><td>6</td><td>SET_COLLATERAL_FACTOR_OWNER_CHECK</td></tr><tr><td>7</td><td>SET_COLLATERAL_FACTOR_NO_EXISTS</td></tr><tr><td>8</td><td>SET_COLLATERAL_FACTOR_VALIDATION</td></tr><tr><td>9</td><td>SET_COLLATERAL_FACTOR_WITHOUT_PRICE</td></tr><tr><td>10</td><td>SET_IMPLEMENTATION_OWNER_CHECK</td></tr><tr><td>11</td><td>SET_LIQUIDATION_INCENTIVE_OWNER_CHECK</td></tr><tr><td>12</td><td>SET_LIQUIDATION_INCENTIVE_VALIDATION</td></tr><tr><td>13</td><td>SET_MAX_ASSETS_OWNER_CHECK</td></tr><tr><td>14</td><td>SET_PENDING_ADMIN_OWNER_CHECK</td></tr><tr><td>15</td><td>SET_PENDING_IMPLEMENTATION_OWNER_CHECK</td></tr><tr><td>16</td><td>SET_PRICE_ORACLE_OWNER_CHECK</td></tr><tr><td>17</td><td>SUPPORT_MARKET_EXISTS</td></tr><tr><td>18</td><td>SUPPORT_MARKET_OWNER_CHECK</td></tr></tbody></table>
