Trading API – Overview


📘

Beta Feature

The Trading API is currently in beta and subject to change. For participation details, contact your Fireblocks Customer Success Manager or email [email protected].

Introduction

The Fireblocks Trading API enables executing trades directly from your Fireblocks workspace, integrating decentralized and centralized trading platforms. With it, you can:

  • Execute DeFi trades (e.g., Uniswap)
  • Trade through connected CeFi exchanges
  • Retrieve real-time quotes
  • Monitor order execution status
  • Manage settlements through vault accounts

This guide outlines the process for executing trades using the Fireblocks API, including prerequisites, a detailed workflow, and necessary code examples for successful trading operations.

Understanding Trading Platforms

The Fireblocks Trading API supports two types of trading platforms:

Decentralized Finance (DeFi) Platforms

DeFi platforms provide direct access to decentralized protocols without requiring account management. These platforms include:

  • Uniswap: Leading decentralized exchange (DEX) protocol on Ethereum and other EVM-compatible chains
  • Direct on-chain execution through smart contracts
  • No account setup required
  • Requires Terms of Service approval before first use

Key Characteristics:

  • Access Type: Direct - no account credentials needed
  • Settlement: Transactions execute directly on-chain
  • Approval: One-time Terms of Service acceptance
  • Slippage: You control slippage tolerance for trades

Centralized Finance (CeFi) Platforms

CeFi platforms are traditional exchanges and trading providers that require account setup and connectivity:

  • Account-based access requiring credentials
  • Centralized order books and execution
  • Connected accounts appear in your provider list
  • Settlement through exchange accounts

Key Characteristics:

  • Access Type: Account-based - requires connection setup
  • Settlement: Managed through exchange accounts
  • Approval: Account must be connected
  • Execution: Traditional order matching

Currently Supported Platforms

Fireblocks currently supports the following trading platforms:

PlatformTypeDescription
UniswapDeFiDecentralized exchange protocol supporting multiple asset pairs across EVM chains
C2C (Coming Soon)CeFiCentralized trading platform with account-based access

Additional platforms will be added over time. Check the provider list endpoint for the most up-to-date information.

Prerequisites

1. API Credentials

  • Obtain API and Secret Keys from Fireblocks.
  • Ensure the credentials have sufficient permissions for trading operations.

2. Vault Accounts

  • Maintain adequate balances in the source and destination vaults.
  • Keep additional native tokens for covering gas fees in DeFi transactions.

3. SDK Installation

Install or update the Fireblocks SDK with trading support before proceeding.

4. Asset Requirements

Different trading platforms have specific requirements:

For DeFi Trading (Uniswap):

  • Trades execute on-chain, requiring gas fees in the native blockchain asset
  • For Ethereum-based trades, ensure you have ETH for gas
  • Slippage tolerance can be configured (default: 50 bps = 0.5%)
  • No minimum trade amounts enforced by Fireblocks

For CeFi Trading:

  • Minimum trade amounts vary by platform
  • Fees are typically included in the quote
  • Settlement handled through connected accounts

High-Level Trading Flow

1. List Providers
   │
   ├─→ GET /providers
   │   └─→ Returns available trading platforms (DeFi & CeFi)
   │
2. Approve Terms (DeFi only, if required)
   │
   ├─→ One-time approval for DeFi platforms - Approved only from the console
   │
3. Create Quote (Required - optional only for non-quote-based C2C trades)
   │
   ├─→ POST /trading/quotes
   │   └─→ Get exchange rate, amounts, and fees
   │
4. Create Order
   │
   ├─→ POST /trading/orders
   │   ├─→ Using quote (quote-based execution)
   │   └─→ Direct market order
   │
5. Monitor Order
   │
   └─→ GET /trading/orders/{orderId}
       └─→ Track execution status and completion

Settlement

Delivery vs Payment (DVP)

Fireblocks uses Delivery vs Payment (DVP) settlement for Uniswap trades. > ⚙️ Note: Currently, trades are supported only when the source and destination vault accounts are identical, ensuring atomic settlement within a single account.

{
  "settlement": {
    "type": "DVP",
    "sourceAccount": {"type": "VAULT_ACCOUNT", "id": "0"},
    "destinationAccount": {"type": "VAULT_ACCOUNT", "id": "0"}
  }
}

Next Steps

See Execute Trades Guide for implementation examples.