Skip to main content


How do I create a fixed rate shift?To create a fixed rate shift, first request a quote using the /quotes endpoint. Then, use the quoteId returned by the endpoint to create a fixed rate shift using the /shifts/fixed endpoint.
How do I create a variable rate shift?To create a variable rate shift, use the /shifts/variable endpoint with the required parameters, such as settleAddress, affiliateId, depositCoin, and settleCoin.
What is the difference between fixed rate and variable rate shifts?Fixed rate shifts have a locked-in exchange rate for 15 minutes, while variable rate shifts determine their exchange rate when the user's deposit is received and have a 7-day expiration.
How should fixed rate shifts be used compared to variable shifts?We recommend using fixed rate only when users cannot change the amount they send and for when the settleAmount must be exact. In situations where there is flexibility, and to reduce errors where users might send the wrong amount, we recommend opting for variable rate shifts.
What's the recommended integration, fixed or variable shifts?Fixed rate shifts would be the preferred option if you would require your users to enter an amount they want to send/receive and then create a shift using the API. Fixed rate shifts expire in 15 minutes, while variable rate ones expire in 7 days.
Would the exchange fail if we don't send the expected amount in a fixed rate conversion?Yes, if you don’t send the exact expected amount to a fixed order, it will need to be refunded. We recommend that you set the refund address when creating a new shift just in case the deposit needs to be refunded. Wallet app integrations are advised to set the refund address to the address the users are sending the deposit coin from as this makes the refund process much smoother.
What are the minimum and maximum deposit ranges?The minimum deposit range has a default value and is determined after incorporating network fees while the maximum deposit range is set by and varies from coin to coin. Both ranges are demoninated in USD.
How do I handle coins or tokens with memos?For shifts that return a depositMemo, the deposit transaction must include this memo, otherwise, the deposit might be lost. For shifts settling in coins where hasMemo is true in the /coins endpoint, API users are allowed to specify a settleMemo field. Additionally, shifts can include optional refundAddress and refundMemo, if not defined, the user will be prompted to enter a refund address manually on the order page if the shift needs to be refunded.
How do I know if a coin or token is not available in other supported networks for either depositCoin or settleCoin?The API will return an array of networks for depositOffline, settleOffline, fixedOnly, variableOnly. So, for example, if ethereum is currently offline for deposit and settle, the response will include ethereum in the depositOffline and settleOffline arrays.
How do I set a refund address?To set a refund address, use the /shifts/:shiftId/set-refund-address endpoint with the required address parameter. It can also be set when creating a shift.
What are the reasons for refunds?Refunds are made for various reasons, such as the user sending an incorrect amount for a fixed rate shift, the shift expiring, the user sending below the minimum amount, or above the maximum amount for a variable shift, among others.
What happens if an amount is sent outside of the range or after the shift expires?In both cases, shifts might be processed or refunded after human review.
What flow is recommended if users use a fixed rate shift and pay the incorrect balance and how will they manage to retrieve them?For fixed orders, we recommend integrations to pre-populate the amount field for their users in their application's UI and don’t allow them to change it. We also recommend pre-defining the refundAddress in the create order request, so if anything goes wrong, they’ll automatically be refunded. Wallet app integrations are advised to set the refund address to the address the user is sending from as this makes the refund process much smoother.
What does the "multiple" status mean?Multiple status means that a user made multiple deposits or on some occasion for EVM/Tron tokens, multiple attempts are made to sweep the user's deposit from the deposit address. For this case, there is a deposits array in the API response with details about each deposit.
Why does the same deposit is detected multiple times?For EVM/Tron tokens deposit, sometimes the sweeper transaction doesn't get broadcasted to the network and leads to another attempt to sweep the funds from the deposit address. For this reason, the same deposit is detected multiple times.
Can shifts be rejected even if they haven't expired?There are several different reasons a variable or fixed rate shift might be rejected. Fixed rate shifts are less prone to rejection for wallets, and variable rate shifts are less prone to errors if the user can specify the amount they send. Rejected deposits will be reviewed by our operations team and either processed or refunded.
How do you distinguish users if there's an issue with their shifts?For handling different users and payment disputes, users are authenticated based on the shiftId, not their account.
How can users contact support and resolve disputes if they encounter issues with their shifts?For any disputes, users can contact support directly via email and live chat. Integrations can add a link to their app to to have a seamless support experience. authenticate users based on the shiftId, not their account.
Why am I being redirected to're being redirected to our new product,, because you're in a jurisdiction not supported by See
How can I test the transaction flow in our staging environment?We have no testing environment for the API. You can start by using small amounts in the live API.
Is there an option for redirect, widget, or QR data available for clients?The REST API returns the address (plus memo for coins that require it) where the user needs to send their deposit coin. You can use this to display a QR code on your site. If you want to redirect the user to SideShift, you can create a shift and redirect them to
How do I check if a user is allowed to use the /permissions endpoint to determine if the user is allowed to use
Can share their IP's for production whitelist?No. Our servers are using dynamic IP addresses, which change every time we restart them.
How can I receive a commission? pays commissions to the affiliate whose affiliateId param is sent in the request. Make sure to create both quote and shift with the same affiliateId.
Why was my TON settle address changed to an EQ format?This is the Bouncable (EQ) format of your provided TON address. TON addresses can be represented in both Bouncable (EQ) and Non-bouncable (UQ) formats, which are equivalent. We always save and display addresses in the Bouncable (EQ) format for consistency. Check here for more information.