# Error Codes

### Permissions

<table><thead><tr><th width="177">Code</th><th>Error</th></tr></thead><tbody><tr><td>000</td><td>SENDER_NOT_FACTORY</td></tr><tr><td>001</td><td>SENDER_NOT_FACTORY_OWNER</td></tr><tr><td>002</td><td>SENDER_NOT_ADMIN</td></tr><tr><td>003</td><td>SENDER_NOT_ARBITRAGE_PARTNER</td></tr><tr><td>004</td><td>NON_VAULT_CALLER</td></tr><tr><td>005</td><td>SENDER_NOT_PARTNER</td></tr><tr><td>007</td><td>SENDER_NOT_FEE_ADDRESS</td></tr><tr><td>008</td><td>SENDER_NOT_ORDER_OWNER_OR_DELEGATE</td></tr><tr><td>009</td><td>CANNOT_TRANSFER_TO_SELF_OR_NULL</td></tr><tr><td>010</td><td>RECIPIENT_NOT_OWNER</td></tr><tr><td>011</td><td>CLEARED_ORDER</td></tr></tbody></table>

{% hint style="info" %}
A cleared order can be one that:  &#x20;

\- was canceled

\- was withdrawn after the expiry

\- never existed (i.e. empty blockchain state in the future)
{% endhint %}

### Modifiers

<table><thead><tr><th width="177.33333333333331">Code</th><th>Error</th></tr></thead><tbody><tr><td>100</td><td>POOL_PAUSED</td></tr></tbody></table>

### Configuration & Parameteriazation

<table><thead><tr><th width="177">Code</th><th>Error</th></tr></thead><tbody><tr><td>201</td><td>UNSUPPORTED_SWAP_KIND</td></tr><tr><td>204</td><td>INSUFFICIENT_LIQUIDITY</td></tr><tr><td>206</td><td>INCORRECT_POOL_ID</td></tr><tr><td>208</td><td>ZERO_SALES_RATE</td></tr><tr><td>212</td><td>NO_FUNDS_AVAILABLE</td></tr><tr><td>223</td><td>MAX_ORDER_LENGTH_EXCEEDED</td></tr><tr><td>224</td><td>NO_FEES_AVAILABLE</td></tr><tr><td>225</td><td>UNSUPPORTED_TOKEN_DECIMALS</td></tr><tr><td>226</td><td>NULL_RECIPIENT_ON_JOIN</td></tr><tr><td>227</td><td>CANT_CANCEL_COMPLETED_ORDER</td></tr><tr><td>228</td><td>MINIMUM_NOT_SATISFIED</td></tr></tbody></table>

### General

<table><thead><tr><th width="179.33333333333331">Code</th><th>Error</th></tr></thead><tbody><tr><td>400</td><td>VALUE_EXCEEDS_CONTAINER_SZ</td></tr><tr><td>401</td><td>OVERFLOW</td></tr><tr><td>402</td><td>UNDERFLOW</td></tr><tr><td>403</td><td>PARAM_ERROR</td></tr></tbody></table>

### Factory

<table><thead><tr><th width="181">Code</th><th>Error</th></tr></thead><tbody><tr><td>500</td><td>ZERO_TOKEN_ADDRESSES</td></tr><tr><td>501</td><td>IDENTICAL_TOKEN_ADDRESSES</td></tr><tr><td>502</td><td>EXISTING_POOL</td></tr><tr><td>503</td><td>INVALID_FACTORY_OWNER</td></tr><tr><td>504</td><td>INVALID_PENDING_OWNER</td></tr><tr><td>505</td><td>NON_EXISTING_POOL</td></tr></tbody></table>

### Periphery Relayer

<table><thead><tr><th width="177">Code</th><th>Error</th></tr></thead><tbody><tr><td>600</td><td>P_ETH_TRANSFER</td></tr><tr><td>602</td><td>P_NULL_USER_ADDRESS</td></tr><tr><td>603</td><td>P_INSUFFICIENT_LIQUIDITY</td></tr><tr><td>604</td><td>P_INSUFFICIENT_TOKEN_A_USER_BALANCE</td></tr><tr><td>605</td><td>P_INSUFFICIENT_TOKEN_B_USER_BALANCE</td></tr><tr><td>606</td><td>P_INVALID_POOL_TOKEN_AMOUNT</td></tr><tr><td>607</td><td>P_INSUFFICIENT_POOL_TOKEN_USER_BALANCE</td></tr><tr><td>608</td><td>P_INVALID_INTERVAL_AMOUNT</td></tr><tr><td>609</td><td>P_DELEGATE_WITHDRAW_RECIPIENT_NOT_OWNER</td></tr><tr><td>610</td><td>P_INVALID_OR_EXPIRED_ORDER_ID</td></tr><tr><td>611</td><td>P_WITHDRAW_BY_ORDER_OR_DELEGATE_ONLY</td></tr><tr><td>612</td><td>P_DELEGATE_CANCEL_RECIPIENT_NOT_OWNER</td></tr><tr><td>613</td><td>P_CANCEL_BY_ORDER_OR_DELEGATE_ONLY</td></tr><tr><td>614</td><td>P_INVALID_TOKEN_IN_ADDRESS</td></tr><tr><td>615</td><td>P_INVALID_TOKEN_OUT_ADDRESS</td></tr><tr><td>616</td><td>P_INVALID_POOL_TYPE</td></tr><tr><td>617</td><td>P_NON_EXISTING_POOL</td></tr><tr><td>618</td><td>P_INVALID_POOL_ADDRESS</td></tr><tr><td>619</td><td>P_INVALID_AMOUNT_IN</td></tr><tr><td>620</td><td>P_INSUFFICIENT_TOKEN_IN_USER_BALANCE</td></tr><tr><td>621</td><td>P_POOL_HAS_NO_LIQUIDITY</td></tr><tr><td>622</td><td>P_MAX_ORDER_LENGTH_EXCEEDED</td></tr><tr><td>624</td><td>P_NOT_IMPLEMENTED</td></tr><tr><td>625</td><td>P_MULTICALL_NOT_SUPPORTED</td></tr></tbody></table>
