Handling Abnormal Scenarios
Last updated
Last updated
Pika is designed to protect users by preventing a central point of failure. It has a design in place to handle these three extremely rare scenarios: 1. orders are not being executed; 2. fast oracle is not providing accurate prices; 3. website is down.
If you notice your market orders are not executed a minute after submission and you do not see any error notification, it might be because the keepers are down. Your submitted orders will appear in the Orders
tab with the type as Market
. If you are opening new market orders, you can click the Cancel
button to cancel the order 3 minutes after submission. If you are closing existing positions, you can choose either the execute the order with the latest price or cancel the order 3 minutes after submission. This allows the user to close positions or cancel orders even if rare cases when keepers stop working.
Pika is a permissionless onchain protocol. In case the website is down for some unexpected reasons, you can still manage positions and liquidity via Etherscan. Please refer to the Trading via Etherscan on how to close positions or do other actions on Etherscan.
In around 10 seconds after submitting the close order, you can check your position on Etherscan. If your order is executed successfully, your active position will show up as 0s.
If the order is not executed, the position info will be shown as unchanged. This may happen because your _acceptablePrice
value is too tight. If you think that is the reason, you can try to update _acceptablePrice
to a lower value for close long and higher value for close short, and then calling createClosePosition
function again.
If that still does not close your position, it may be because the keepers stopped working. You can wait 3 minutes and then manually execute the order by calling executeClosePosition
on https://optimistic.etherscan.io/address/0xB67c152E69217b5aCB85A2e19dF13423351b0E27#code.
There are two steps to get the _key
parameter:
Get index parameter by calling closePositionIndex
function with your wallet address.
Use the index
value from step 1 to call getRequestKey
function with your wallet address.