Skip to main content
Upside is a perpetuals exchange built for programmatic trading. Instead of a traditional REST API with per-resource URLs, every write operation flows through a single POST /exchange endpoint — routed by the action.type field in the request body. Reads flow through POST /info, routed by the type field. Real-time market and account updates are delivered over WebSocket. This action-based design keeps the interface minimal and consistent across all trading operations.

API Channels

The Upside API exposes three channels:

Action-Based Routing

Unlike REST APIs that use distinct URLs per resource, Upside routes all requests by a type field in the JSON body:
  • POST /exchange — All state-changing operations (place order, cancel, register account, etc.) share this single URL. The server dispatches by action.type.
  • POST /info — All read queries share this URL. The server dispatches by the top-level type field.
This means you always POST to the same URL and change only the JSON payload to perform different operations.

Environments

The UAT and QA environments are for testing only. Funds and accounts are not shared across environments. The Production URL is not yet public — contact the Upside team to get access.

Testnet Constraints

The QA and UAT environments currently operate with a single contract:
  • Contract: SOL1
  • Contract ID: a = 1
  • Quote currency: USDT1
  • Price (p): Must be an integer; maximum value is 10000
  • Size (s): Must be a positive integer
These constraints apply to the testnet only. Production contracts will support decimal prices and sizes, and will list additional assets beyond SOL1.

API Version

Current API version: 0.5.4

Explore the API

Quickstart

Register an account, place a limit order, and cancel it — all in under 50 lines of Python.

Authentication

Learn how to sign POST /exchange requests using ECDSA secp256k1.

Write API Overview

Explore all write actions: orders, cancels, account registration, and more.

Read API Overview

Query orders, balances, market data, and configuration via POST /info.

WebSocket Overview

Subscribe to real-time order book updates, trades, and account events.

Error Codes

Reference for HTTP-level and business-level error codes with troubleshooting tips.