> For the complete documentation index, see [llms.txt](https://cetus-1.gitbook.io/cetus-developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cetus-1.gitbook.io/cetus-developer-docs/developer/via-sdk-v2/sdk-modules/cetusprotocol-sui-clmm-sdk/contract-error-codes.md).

# 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>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://cetus-1.gitbook.io/cetus-developer-docs/developer/via-sdk-v2/sdk-modules/cetusprotocol-sui-clmm-sdk/contract-error-codes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
