# 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 [CSM@fireblocks.com](mailto:CSM@fireblocks.com). ## 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: | Platform | Type | Description | | --------------------- | ---- | --------------------------------------------------------------------------------- | | **Uniswap** | DeFi | Decentralized exchange protocol supporting multiple asset pairs across EVM chains | | **C2C (Coming Soon)** | CeFi | Centralized 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. ```json { "settlement": { "type": "DVP", "sourceAccount": {"type": "VAULT_ACCOUNT", "id": "0"}, "destinationAccount": {"type": "VAULT_ACCOUNT", "id": "0"} } } ``` ## Next Steps See [Execute Trades Guide](https://developers.fireblocks.com/docs/execute-defi-trades-step-by-step-guide) for implementation examples.