Create fixed shift
POST/shifts/fixed
After requesting a quote, use the quoteId to create a fixed rate shift with the quote. The affiliateId must match the one used to request the quote.
Do not create a fixed shift when the deposit network is in depositVariableOnly or the settle network is in settleVariableOnly on /v2/coins. Use /v2/shifts/variable instead.
For fixed rate shifts, a deposit of exactly the amount of depositAmount must be made before the expiresAt timestamp, otherwise the deposit will be refunded.
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 the network is included in the networksWithMemo array in the /v2/coins endpoint, API users are allowed to specify a settleMemo field, for example "settleMemo": "123343245".
Authentication is required: sign the request or send the legacy x-sideshift-secret header, found on the account page under the account secret.
Authenticate by signing the request or with the legacy x-sideshift-secret header. Your Ed25519 secret key and your account secret each grant full access to your account. Never share them.
refundAddress and refundMemo are optional. If they aren't defined, the user is prompted to enter a refund address manually on the SideShift.ai order page if the shift needs to be refunded.
If the API requests are sent from the integration's own server, the x-user-ip header must be set to the end-user IP address; otherwise, the requests will be blocked. See Permissions.
averageShiftSeconds represents the average time in seconds it takes for SideShift to process a shift once the user's deposit is confirmed on the blockchain.
externalId is an optional field that can be used to pass an integration's own ID to the API.
Request
Header Parameters
Your Ed25519 public key, hex encoded. Required when signing the request. See Authentication.
Current Unix time in milliseconds, the same value used in the signed message. Must be within 60 seconds of server time. Required when signing the request.
Ed25519 signature of timestamp + METHOD + path + body, hex encoded. Required when signing the request. See Authentication.
Legacy account secret. Not needed when the request is signed with the x-sideshift-key, x-sideshift-timestamp and x-sideshift-signature headers. See Authentication.
end-user IP address for integrations API requests
- application/json
Body
for coins where network is included in networksWithMemo array
affiliateId used to request the quote
integration's own ID
Responses
- 201
- 400
- 401
- 403
- 404
- 500
- application/json
- Schema
- Example
Schema
{
"id": "8c9ba87d02a801a2f254",
"createdAt": "2023-10-17T04:32:00.855Z",
"depositCoin": "ETH",
"settleCoin": "ETH",
"depositNetwork": "arbitrum",
"settleNetwork": "ethereum",
"depositAddress": "0xa20916158958168ff5668bF90C3753EcD333b0A2",
"settleAddress": "0xde2642b2120fd3011fe9659688f76e9E4676F472",
"depositMin": "1",
"depositMax": "1",
"refundAddress": "0xde2642b2120fd3011fe9659688f76e9E4676F472",
"type": "fixed",
"quoteId": "75cb6e56-a81b-45a9-8ab4-1f95bf92246g",
"depositAmount": "1",
"settleAmount": "0.98088036",
"expiresAt": "2023-10-17T04:36:47.050Z",
"status": "waiting",
"averageShiftSeconds": "44.526343",
"externalId": "integration-1234"
"rate": "0.98088036"
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Bad request: Invalid parameters: quoteId",
"code": "BAD_USER_INPUT"
}
}
{
"error": {
"message": "Quote has different affiliateId than input.",
"code": "BAD_USER_INPUT"
}
}
{
"error": {
"message": "Invalid receiving address",
"code": "BAD_USER_INPUT"
}
}
{
"error": {
"message": "Invalid refundDestination",
"code": "BAD_USER_INPUT"
}
}
{
"error": {
"message": "Invalid externalId",
"code": "BAD_USER_INPUT"
}
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Do not use the example affiliateId and x-sideshift-secret header from the documentation. Use your own from https://sideshift.ai/account",
"code": "SESSION_REQUIRED"
}
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Access denied. See https://sideshift.ai/access-denied",
"code": "ACCESS_DENIED"
}
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Account not found",
"code": "NOT_FOUND"
}
}
- application/json
- Schema
- Example
Schema
error object
{
"error": {
"message": "Quote has already been accepted. Request a new quote.",
"code": "QUOTE_ALREADY_ACCEPTED"
"orderId": "8c9ba87d02a801a2f254"
}
}
{
"error": {
"message": "Internal Server Error",
"code": "UNKNOWN"
}
}