Default

list orders

get

Retrieves a list of orders for the current API key. The response includes all orders created by the API key, with optional filters for user ID, status, and date range.

Query parameters
start_datestringRequired

Start date for filtering orders (ISO 8601 format)

end_datestringRequired

End date for filtering orders (ISO 8601 format)

user_idstringOptional

Filter orders by user ID

statusstring · enumOptional

Filter orders by status

Possible values:
Header parameters
X-Api-KeystringRequired

API key for authentication. Must be included in the request header.

X-SignaturestringRequired

Signature for verifying the request. Must be included in the request header.

Responses
200
successful
application/json
get
GET /v1/merchant/orders HTTP/1.1
Host: api.flow.onside.io
X-Api-Key: text
X-Signature: text
Accept: */*
{
  "total_count": 1,
  "orders": [
    {
      "id": "text",
      "status": "creating",
      "withdraw_address": {
        "address": "text",
        "destination_tag": "text",
        "memo": "text"
      },
      "pair": {
        "id": "text",
        "from_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "from_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        },
        "to_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "to_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        }
      },
      "created_at": 1,
      "user_confirmed_payment": true,
      "rate": "text",
      "min_deposit_amount": "text",
      "max_deposit_amount": "text",
      "unique_reference": "text",
      "withdrawal_fee": "text",
      "deposit_address": {
        "address": "text",
        "destination_tag": "text",
        "memo": "text"
      },
      "expires_at": 1,
      "transactions": [
        {
          "tx_id": "text",
          "type": "deposit",
          "time": 1,
          "amount": "text",
          "from_token": {
            "id": "text",
            "name": "text",
            "icon": "https://example.com"
          },
          "from_chain": {
            "id": "text",
            "name": "text",
            "icon": "https://example.com",
            "token_icon": "https://example.com"
          },
          "to_token": {
            "id": "text",
            "name": "text",
            "icon": "https://example.com"
          },
          "to_chain": {
            "id": "text",
            "name": "text",
            "icon": "https://example.com",
            "token_icon": "https://example.com"
          }
        }
      ]
    }
  ]
}

get merchant configuration

get

This endpoint retrieves the configuration for a merchant to set up an on-ramp transaction. It requires an API key and various parameters to specify the token, chain, and withdrawal address. The response includes a signed URL for the on-ramp transaction.

Query parameters
api_keystringRequired

API key for authentication

tokenstring · enumRequired

The destination token ID (currently only supporting 'sol')

Possible values:
chainstring · enumOptional

The destination token blockchain. If not provided, it can be selected by available chains if there's only one supported. If multiple chains support this token, this parameter should be required.

Possible values:
withdraw_addressstringRequired

Address where exchanged funds will be sent

withdraw_address_tagstringOptional

Optional destination tag for certain cryptocurrencies

withdraw_address_memostringOptional

Optional memo for certain cryptocurrencies

user_idstringOptional

The user ID for tracking purposes. This is optional and can be used to associate the request with a specific user.

Responses
200
successful
application/json
get
GET /v1/merchants/configuration HTTP/1.1
Host: api.flow.onside.io
Accept: */*
{
  "configuration": {
    "api_key": "text",
    "onramp_url": "https://example.com",
    "theme": {
      "light": {},
      "dark": {}
    }
  }
}

create exchange order

post

Creates a new exchange order for the specified trading pair and the withdraw address.

Query parameters
api_keystringRequired

API key for authentication

signaturestringOptional

Signature for authentication request if required by the API key. The signature is generated using the withdraw address and the secret key of the API key.

pair_idstringRequired

The pair ID in format 'FROMTO' (e.g., 'BTCETH'). Available pair IDs can be obtained from the GET /v1/tokens endpoint.

withdraw_addressstringRequired

Address where exchanged funds will be sent

withdraw_address_tagstringOptional

Optional destination tag for certain cryptocurrencies

withdraw_address_memostringOptional

Optional memo for certain cryptocurrencies

user_idstringOptional

Optional user ID for associating the order with a specific user. If not provided, the order will be associated with the user’s IP address.

Responses
201
order created
application/json
post
POST /v1/orders HTTP/1.1
Host: api.flow.onside.io
Accept: */*
{
  "order": {
    "id": "text",
    "status": "creating",
    "withdraw_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "pair": {
      "id": "text",
      "from_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "from_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      },
      "to_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "to_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      }
    },
    "created_at": 1,
    "user_confirmed_payment": true,
    "rate": "text",
    "min_deposit_amount": "text",
    "max_deposit_amount": "text",
    "unique_reference": "text",
    "withdrawal_fee": "text",
    "deposit_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "expires_at": 1,
    "transactions": [
      {
        "tx_id": "text",
        "type": "deposit",
        "time": 1,
        "amount": "text",
        "from_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "from_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        },
        "to_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "to_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        }
      }
    ]
  },
  "compliance_notice": "We do not provide service in your geographic location"
}

refresh order

patch

Refreshes the status of an existing order.

Path parameters
idstringRequired

The ID of the order to refresh

Query parameters
api_keystringRequired

API key for authentication

signaturestringOptional

Signature for authentication request if required by the API key. The signature is generated using the withdraw address and the secret key of the API key.

Responses
200
order refreshed
application/json
patch
PATCH /v1/orders/{id}/refresh HTTP/1.1
Host: api.flow.onside.io
Accept: */*
{
  "order": {
    "id": "text",
    "status": "creating",
    "withdraw_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "pair": {
      "id": "text",
      "from_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "from_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      },
      "to_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "to_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      }
    },
    "created_at": 1,
    "user_confirmed_payment": true,
    "rate": "text",
    "min_deposit_amount": "text",
    "max_deposit_amount": "text",
    "unique_reference": "text",
    "withdrawal_fee": "text",
    "deposit_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "expires_at": 1,
    "transactions": [
      {
        "tx_id": "text",
        "type": "deposit",
        "time": 1,
        "amount": "text",
        "from_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "from_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        },
        "to_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "to_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        }
      }
    ]
  },
  "compliance_notice": "We do not provide service in your geographic location"
}

cancel order

patch

Cancels an existing order.

Path parameters
idstringRequired

The ID of the order to refresh

Query parameters
api_keystringRequired

API key for authentication

signaturestringOptional

Signature for authentication request if required by the API key. The signature is generated using the withdraw address and the secret key of the API key.

Responses
200
order cancelled
application/json
patch
PATCH /v1/orders/{id}/cancel HTTP/1.1
Host: api.flow.onside.io
Accept: */*
{
  "order": {
    "id": "text",
    "status": "creating",
    "withdraw_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "pair": {
      "id": "text",
      "from_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "from_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      },
      "to_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "to_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      }
    },
    "created_at": 1,
    "user_confirmed_payment": true,
    "rate": "text",
    "min_deposit_amount": "text",
    "max_deposit_amount": "text",
    "unique_reference": "text",
    "withdrawal_fee": "text",
    "deposit_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "expires_at": 1,
    "transactions": [
      {
        "tx_id": "text",
        "type": "deposit",
        "time": 1,
        "amount": "text",
        "from_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "from_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        },
        "to_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "to_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        }
      }
    ]
  },
  "compliance_notice": "We do not provide service in your geographic location"
}

mark order as paid

patch

Marks an existing order as paid.

Path parameters
idstringRequired

The ID of the order to refresh

Query parameters
api_keystringRequired

API key for authentication

signaturestringOptional

Signature for authentication request if required by the API key. The signature is generated using the withdraw address and the secret key of the API key.

Responses
200
order marked as paid
application/json
patch
PATCH /v1/orders/{id}/mark_as_paid HTTP/1.1
Host: api.flow.onside.io
Accept: */*
{
  "order": {
    "id": "text",
    "status": "creating",
    "withdraw_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "pair": {
      "id": "text",
      "from_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "from_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      },
      "to_token": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com"
      },
      "to_chain": {
        "id": "text",
        "name": "text",
        "icon": "https://example.com",
        "token_icon": "https://example.com"
      }
    },
    "created_at": 1,
    "user_confirmed_payment": true,
    "rate": "text",
    "min_deposit_amount": "text",
    "max_deposit_amount": "text",
    "unique_reference": "text",
    "withdrawal_fee": "text",
    "deposit_address": {
      "address": "text",
      "destination_tag": "text",
      "memo": "text"
    },
    "expires_at": 1,
    "transactions": [
      {
        "tx_id": "text",
        "type": "deposit",
        "time": 1,
        "amount": "text",
        "from_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "from_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        },
        "to_token": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com"
        },
        "to_chain": {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "token_icon": "https://example.com"
        }
      }
    ]
  },
  "compliance_notice": "We do not provide service in your geographic location"
}

list tokens

get

Get a list of available tokens and their supported blockchains for exchange. This endpoint returns a list of tokens that can be exchanged, along with their supported blockchains. The response includes the token ID, name, icon URL, and the chains on which the token is available.

Query parameters
api_keystringRequired

API key for authentication

to_tokenstring · enumRequired

The destination token ID (currently only supporting 'sol')

Possible values:
to_chainstring · enumOptional

The destination token blockchain. If not provided, it can be selected by available chains if there's only one supported. If multiple chains support this token, this parameter should be required.

Possible values:
user_idstringOptional

The user ID for tracking purposes. This is optional and can be used to associate the request with a specific user.

Responses
200
successful
application/json
get
GET /v1/tokens HTTP/1.1
Host: api.flow.onside.io
Accept: */*
{
  "tokens": [
    {
      "id": "text",
      "name": "text",
      "icon": "https://example.com",
      "chains": [
        {
          "id": "text",
          "name": "text",
          "icon": "https://example.com",
          "pair_id": "text",
          "token_icon": "https://example.com"
        }
      ]
    }
  ],
  "compliance_notice": "We do not provide service in your geographic location"
}

Was this helpful?