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 SideShift.ai 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 SideShift.ai 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. |
If a user chooses the wrong network, do you offer refunds? If so, what are the conditions for a refund? | We will recover and refund the user for any incorrect coin and/or network deposit that we have access to the address on the network user sent. This is usually done without any fee and within 3 days. If the network fees to recover are more than the deposit value, we will not recover. |
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 https://sideshift.ai/orders/SHIFT_ID?openSupport=true to have a seamless support experience. SideShift.ai authenticate users based on the shiftId , not their account. |
Why am I being redirected to SideShift.fi? | You're being redirected to our new product, SideShift.fi, because you're in a jurisdiction not supported by SideShift.ai. See https://sideshift.ai/access-denied |
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 https://sideshift.ai/orders/. |
How do I check if a user is allowed to use SideShift.ai? | Use the /permissions endpoint to determine if the user is allowed to use SideShift.ai. |
Can SideShift.ai share their IP's for production whitelist? | No. Our servers are using dynamic IP addresses, which change every time we restart them. |
How do you guarantee liquidity for all the coins? | SideShift has automatic rebalancing of coin inventory balances held for user shifting. Shift orders are automatically created for liquidity providers to deposit any coin needed in exchange for a coin SideShift has a larger balance of. These shift orders are offered with above-market exchange rate to the liquidity provider so they profit from performing the coin swap. SideShift also has automatic "external trading" of some coins whereas user deposits are instantly sold on various DeFi pools and user settlements made directly from DeFi pools using smart contracts. |
What slippage values can I expect for shifts? | The exchange rate displayed to user for the coin pair selected is the exact rate they receive. Any fees are already included and will depend on the coin pair and current market conditions, such as liquidity. The rate is the same for both fixed and variable orders, where fixed orders only lock-in for 15 minutes to make deposit, while variable applies to the live rate whenever user makes deposit. |
What is the average shift completion speed? | The shift time is based on blockchain confirmation. The user deposit must have at least one blockchain confirmation for shift to be processed and the settle coin payment sent to user in the blockchain. |
How can I receive a commission? | SideShift.ai 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 . Commissions are in SideShift.ai's native XAI token which can be withdrawn from your SideShift.ai account. We can also automatically convert it to your chosen coin when a certain threshold is reached and send it to your designated wallet address. There's no minimum or network commissions. |
How can I withdraw my portion of the fees? Are there any minimum and network commissions? | Any fees are already included in the exchange rate displayed to the user. These fees are dynamic; however, it is necessary to remain highly competitive on rates and offer the lowest rates for many major coin pairs compared to other swap services. The default commission paid to integrators is 0.5% of the shift value. This does not result in any additional fee to the integration user. In exceptional cases, the commission percentage can be increased, and this will be passed on to the user. |
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. |
What level of support can we expect from your team? | Support is available 24/7 and generally replies within minutes. Integrations can either sync the support team with their in-house team to resolve any issues that arise or forward users directly to support via [email protected]. Integrations can also enhance the user experience by providing a direct link to the SideShift.ai support chat. For seamless support, it’s recommended to include a link that initiates a chat session with a pre-filled shift ID, such as: https://sideshift.ai/orders/SHIFT_ID?openSupport=true. |
How many blockchains and cryptocurrencies does your API support? | Currently 39 blockchains and 157 cryptocurrencies are supported. |