# Contract Error Codes

the Cetus smart contract may return the following error codes:

<table><thead><tr><th width="192.6356201171875">Module</th><th width="59.876708984375">Error Code</th><th width="186.0123291015625">Description</th><th width="377.7413330078125">Contract Methods</th></tr></thead><tbody><tr><td>cetus_clmm::pool</td><td>0</td><td>Amount is incorrect</td><td><p>flash_swap_internal,</p><p>add_liquidity_fix_coin,</p><p>repay_add_liquidity, repay_flash_swap, repay_flash_swap_with_partner</p></td></tr><tr><td>cetus_clmm::pool</td><td>1</td><td>Liquidity overflow</td><td><p>add_liquidity_internal,</p><p>calculate_swap_result</p></td></tr><tr><td>cetus_clmm::pool</td><td>3</td><td>Liquidity is zero</td><td><p>add_liquidity,</p><p>remove_liquidity,</p><p>add_liquidity_internal</p></td></tr><tr><td>cetus_clmm::pool</td><td>4</td><td>Not enough liquidity</td><td>swap_in_pool</td></tr><tr><td>cetus_clmm::pool</td><td>5</td><td>Remainder amount underflow</td><td>check_remainer_amount_sub</td></tr><tr><td>cetus_clmm::pool</td><td>6</td><td>Swap amount in overflow</td><td>update_swap_result</td></tr><tr><td>cetus_clmm::pool</td><td>7</td><td>Swap amount out overflow</td><td>update_swap_result</td></tr><tr><td>cetus_clmm::pool</td><td>8</td><td>Fee amount overflow</td><td>update_swap_result</td></tr><tr><td>cetus_clmm::pool</td><td>9</td><td>Invalid fee rate</td><td>update_fee_rate</td></tr><tr><td>cetus_clmm::pool</td><td>10</td><td>Invalid fixed coin type</td><td>get_liquidity_from_amount</td></tr><tr><td>cetus_clmm::pool</td><td>11</td><td>Wrong sqrt price limit</td><td>flash_swap_internal</td></tr><tr><td>cetus_clmm::pool</td><td>12</td><td>Pool ID is error</td><td>repay_add_liquidity</td></tr><tr><td>cetus_clmm::pool</td><td>13</td><td>Pool is paused</td><td></td></tr><tr><td>cetus_clmm::pool</td><td>14</td><td>Flash swap receipt not match</td><td>repay_flash_swap_with_partner, repay_flash_swap</td></tr><tr><td>cetus_clmm::pool</td><td>16</td><td>Invalid partner ref fee rate</td><td>swap_in_pool</td></tr><tr><td>cetus_clmm::pool</td><td>17</td><td>Reward does not exist</td><td><p>get_position_reward,</p><p>calculate_and_update_reward,</p><p>collect_reward</p></td></tr><tr><td>cetus_clmm::pool</td><td>18</td><td>Amount out is zero</td><td>flash_swap_internal</td></tr><tr><td>cetus_clmm::pool</td><td>19</td><td>Pool position not match</td><td><p>collect_reward,</p><p>add_liquidity,</p><p>add_liquidity_fix_coin,</p><p>remove_liquidity,</p><p>close_position,collect_fee</p></td></tr><tr><td>cetus_clmm::position</td><td>1</td><td>Fee owned overflow</td><td>update_fee_internal</td></tr><tr><td>cetus_clmm::position</td><td>2</td><td>Reward owned overflow</td><td>update_rewards_internal</td></tr><tr><td>cetus_clmm::position</td><td>3</td><td>Points owned overflow</td><td>update_points_internal</td></tr><tr><td>cetus_clmm::position</td><td>5</td><td>Invalid position tick range</td><td>check_position_tick_range</td></tr><tr><td>cetus_clmm::position</td><td>6</td><td>Position does not exist</td><td><p>borrow_mut_position_info，</p><p>fetch_positions，</p><p>borrow_position_info</p></td></tr><tr><td>cetus_clmm::position</td><td>7</td><td>Position is not empty</td><td>close_position</td></tr><tr><td>cetus_clmm::position</td><td>8</td><td>Liquidity change overflow</td><td>increase_liquidity</td></tr><tr><td>cetus_clmm::position</td><td>9</td><td>Liquidity change underflow</td><td>decrease_liquidity</td></tr><tr><td>cetus_clmm::position</td><td>10</td><td>Invalid reward index</td><td>update_and_reset_rewards</td></tr><tr><td>cetus_clmm::rewarder</td><td>1</td><td>Reward slot is full</td><td>add_rewarder</td></tr><tr><td>cetus_clmm::rewarder</td><td>2</td><td>Reward already exists</td><td>add_rewarder</td></tr><tr><td>cetus_clmm::rewarder</td><td>3</td><td>Invalid time</td><td>settle</td></tr><tr><td>cetus_clmm::rewarder</td><td>4</td><td>Reward amount insufficient</td><td>update_emission</td></tr><tr><td>cetus_clmm::rewarder</td><td>5</td><td>Reward does not exist</td><td><p>borrow_mut_rewarder，</p><p>borrow_rewarder</p></td></tr><tr><td>cetus_clmm::tick</td><td>0</td><td>Liquidity overflow</td><td>update_by_liquidity</td></tr><tr><td>cetus_clmm::tick</td><td>1</td><td>Liquidity underflow</td><td><p>update_by_liquidity，</p><p>cross_by_swap</p></td></tr><tr><td>cetus_clmm::tick</td><td>2</td><td>Invalid tick</td><td>tick_score，</td></tr><tr><td>cetus_clmm::tick</td><td>3</td><td>Tick not found</td><td>decrease_liquidity，</td></tr><tr><td>cetus_clmm::pool_creator</td><td>1</td><td>Pool is permission</td><td>create_pool_v2</td></tr><tr><td>cetus_clmm::pool_creator</td><td>4</td><td>Cap not match with pool key</td><td>create_pool_v2_with_creation_cap</td></tr><tr><td>cetus_clmm::pool_creator</td><td>5</td><td>Init sqrt price not between lower and upper</td><td>create_pool_v2</td></tr><tr><td>cetus_clmm::partner</td><td>1</td><td>Partner already exists</td><td>create_partner</td></tr><tr><td>cetus_clmm::partner</td><td>2</td><td>Invalid time</td><td><p>create_partner，</p><p>update_time_range</p></td></tr><tr><td>cetus_clmm::partner</td><td>3</td><td>Invalid partner ref fee rate</td><td><p>update_ref_fee_rate，</p><p>create_partner</p></td></tr><tr><td>cetus_clmm::partner</td><td>4</td><td>Invalid partner cap</td><td>claim_ref_fee</td></tr><tr><td>cetus_clmm::partner</td><td>5</td><td>Invalid coin type</td><td>claim_ref_fee</td></tr><tr><td>cetus_clmm::partner</td><td>6</td><td>Invalid partner name</td><td>create_partner</td></tr><tr><td>cetus_clmm::factory</td><td>1</td><td>Pool already exists</td><td>create_pool_internal</td></tr><tr><td>cetus_clmm::factory</td><td>2</td><td>Invalid sqrt price</td><td>create_pool_internal</td></tr><tr><td>cetus_clmm::factory</td><td>3</td><td>Same coin type</td><td><p>new_pool_key，</p><p>create_pool_internal</p></td></tr><tr><td>cetus_clmm::factory</td><td>4</td><td>Amount in above max limit</td><td>create_pool_v2</td></tr><tr><td>cetus_clmm::factory</td><td>5</td><td>Amount out below min limit</td><td>create_pool_v2</td></tr><tr><td>cetus_clmm::factory</td><td>6</td><td>Invalid coin type sequence</td><td>new_pool_key</td></tr><tr><td>cetus_clmm::factory</td><td>7</td><td>Quote coin type not in allowed pair config</td><td>register_permission_pair_internal</td></tr><tr><td>cetus_clmm::factory</td><td>8</td><td>Tick spacing not in allowed pair config</td><td>register_permission_pair_internal</td></tr><tr><td>cetus_clmm::factory</td><td>9</td><td>Pool key already registered</td><td>register_permission_pair_internal</td></tr><tr><td>cetus_clmm::factory</td><td>10</td><td>Pool key not registered</td><td>unregister_permission_pair_internal</td></tr><tr><td>cetus_clmm::factory</td><td>11</td><td>Cap already registered</td><td>mint_pool_creation_cap_by_admin，mint_pool_creation_cap</td></tr><tr><td>cetus_clmm::factory</td><td>12</td><td>Coin type not allowed</td><td>create_pool_v2</td></tr><tr><td>cetus_clmm::factory</td><td>13</td><td>Cap not match with coin type</td><td>unregister_permission_pair_internal，register_permission_pair_internal</td></tr><tr><td>cetus_clmm::factory</td><td>14</td><td>Coin already exists in list</td><td>add_denied_coin， add_allowed_list</td></tr><tr><td>cetus_clmm::factory</td><td>15</td><td>Coin not exists in list</td><td>remove_denied_list，remove_allowed_list</td></tr><tr><td>cetus_clmm::factory</td><td>16</td><td>Liquidity check failed</td><td>create_pool_v2</td></tr><tr><td>cetus_clmm::factory</td><td>17</td><td>Tick spacing not exists in fee tier</td><td>add_allowed_pair_config</td></tr></tbody></table>
