Network Link Integration Guide for Provider Connectivity
Want to know more about the Provider Network and commercial prerequisites?Visit our Help Center article about the Provider Network to learn more.
See the Fireblocks Provider Connectivity API v2 documentation on GitHub to learn how to connect your service to Fireblocks.
Registering as a service provider
Once your license agreement for listing your service with Fireblocks is signed, the Fireblocks technical team will request the following connected account registration settings:
- Display name (e.g., "My Exchange" or "My Exchange Sandbox")
 - Icon (a 32x32 .svg file)
 - Step-by-step guide for generating an API key for your platform
- A public link to your knowledge base is preferred. A shareable document or PDF is also acceptable.
 
 - Base URL for your API endpoints (e.g., "https://my-service.com/fireblocks")
 - Will your service provide a sandbox environment?
 - For Off-Exchange capabilities, please provide your CSR file.
 - User credentials for testing
 - Which signing method will your server use for all requests? Please choose one of the supported options by specifying the pre-encoding function, signing algorithm, and post-encoding function during the server onboarding process.
- Pre-encoding options:
URL encodedBase64HexStrBase58Base32
 - Signing algorithms & possible hash functions:
HMAC (SHA512, SHA3_256, or SHA256)RSA PKCS1v15 (SHA512, SHA3_256, or SHA256)ECDSA prime256v1/secp256k1 (SHA256 only)
 - Post-encoding options: (URL encoding not supported)
Base64HexStrBase58Base32
 
 - Pre-encoding options:
 - Validation tool results
 
IP allowlisting
All API calls from Fireblocks to your service are sent from a fixed set of IP addresses, grouped by geographical region. Your service should allowlist these addresses to allow Fireblocks communication with your servers.
| Singapore | Europe | USA | 
|---|---|---|
      
  | 
    
      
  | 
    
      
  | 
  
Mandatory endpoints implementation per user flow
Minimum viable provider
- Required
GET /capabilitiesresponse: "accounts": ["*"] - Required endpoints:
GET /capabilitiesGET /capabilities/assetsGET /accountsGET /accounts/{accountId}
 
Balance support
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"] - Required endpoints:
GET /accounts/{accountId}/balances
 
Transfer support
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "transfers": ["*"] - Required endpoints:
GET /accounts/{accountId}/capabilities/transfers/depositsGET /accounts/{accountId}/capabilities/transfers/withdrawalsGET /accounts/{accountId}/transfers/depositsGET /accounts/{accountId}/transfers/deposits/{id}GET /accounts/{accountId}/transfers/withdrawalsGET /accounts/{accountId}/transfers/withdrawals/{id}
 
Blockchain transfer
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "transfers": ["*"], "transfersBlockchain": ["*"] - Required endpoints:
GET /accounts/{accountId}/capabilities/transfers/depositsGET /accounts/{accountId}/capabilities/transfers/withdrawalsGET /accounts/{accountId}/transfers/depositsGET /accounts/{accountId}/transfers/deposits/{id}GET /accounts/{accountId}/transfers/withdrawalsGET /accounts/{accountId}/transfers/withdrawals/{id}POST /accounts/{accountId}/transfers/deposits/addressesGET /accounts/{accountId]/transfers/deposits/addressesGET /accounts/{accountId}/transfers/deposits/addresses/{id}POST /accounts/{accountId}/transfers/withdrawals/blockchain
 
Peer transfer
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "transfers": ["*"], "transfersPeerAccounts": ["*"]- For fiat assets, add "transfersFiat": ["*"] to the response.
 
 - Required endpoints:
GET /accounts/{accountId}/capabilities/transfers/depositsGET /accounts/{accountId}/capabilities/transfers/withdrawalsGET /accounts/{accountId}/transfers/depositsGET /accounts/{accountId}/transfers/deposits/{id}GET /accounts/{accountId}/transfers/withdrawalsGET /accounts/{accountId}/transfers/withdrawals/{id}POST /accounts/{accountId}/transfers/withdrawals/peeraccount
 
Internal transfer
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "transfers": ["*"], "transfersInternal": ["*"]- For fiat assets, add "transfersFiat": ["*"] to the response.
 
 - Required endpoints:
GET /accounts/{accountId}/capabilities/transfers/depositsGET /accounts/{accountId}/capabilities/transfers/withdrawalsGET /accounts/{accountId}/transfers/depositsGET /accounts/{accountId}/transfers/deposits/{id}GET /accounts/{accountId}/transfers/withdrawalsGET /accounts/{accountId}/transfers/withdrawals/{id}POST /accounts/{accountId}/transfers/withdrawals/subaccount
 
Fiat transfer
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "transfers": ["*"], "transfersFiat": ["*"] - Required endpoints:
GET /accounts/{accountId}/capabilities/transfers/depositsGET /accounts/{accountId}/capabilities/transfers/withdrawalsGET /accounts/{accountId}/transfers/depositsGET /accounts/{accountId}/transfers/deposits/{id}GET /accounts/{accountId}/transfers/withdrawalsGET /accounts/{accountId}/transfers/withdrawals/{id}POST /accounts/{accountId}/transfers/withdrawals/fiat
 
Trading support
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "trading": ["*"] - Required endpoints:
GET /capabilities/trading/booksGET /trading/books/{id}GET /accounts/{accountId}/trading/ordersPOST /accounts/{accountId}/trading/ordersGET /accounts/{accountId}/trading/orders/{id}GET /accounts/{accountId}/trading/books/{id}/history
 
Liquidity/RFQ support
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "liquidity": ["*"] - Required endpoints:
GET /capabilities/liquidity/quotesPOST /accounts/{accountId}/liquidity/quotesGET /accounts/{accountId}/liquidity/quotesGET /accounts/{accountId}/liquidity/quotes/{id}POST /accounts/{accountId}/liquidity/quotes/{id}/execute
 
On-/Off-Ramp & Bridging
- Required
GET /capabilitiesresponse: "accounts": ["*"], "ramps": ["*"], "balances": ["*"]- For prefunded flows, "balances": ["*"] must be returned with 
GETaccount API. See below. 
 - For prefunded flows, "balances": ["*"] must be returned with 
 - Required endpoints:
GET /accounts/{accountId}/capabilities/rampsPOST /accounts/{accountId}/rampsGET /accounts/{accountId}/rampsGET /accounts/{accountId}/ramps/{id}GET /accounts/{accountId}/balances(only for prefunded flows)GET /accounts/{accountId}/rate- Your service should implement the 
rateendpoint to ensure Fireblocks customers see your service's real-time rates for asset pairs. Otherwise, Fireblocks defaults to quotes or its internal rating service. 
- Your service should implement the 
 
 
Collateral
- Required
GET /capabilitiesresponse: "accounts": ["*"], "balances": ["*"], "transfers": ["*"], "transfersBlockchain": ["*"], "collateral": ["*"] - Required endpoints:
GET /accounts/{accountId}/balancesGET /accounts/{accountId}/capabilities/transfers/depositsGET /accounts/{accountId}/capabilities/transfers/withdrawalsGET /accounts/{accountId}/transfers/depositsGET /accounts/{accountId}/transfers/deposits/{id}GET /accounts/{accountId}/transfers/withdrawalsGET /accounts/{accountId}/transfers/withdrawals/{id}POST /accounts/{accountId}/transfers/deposits/addressesGET /accounts/{accountId}/transfers/deposits/addressesGET /accounts/{accountId}/transfers/deposits/addresses/{id}POST /accounts/{accountId}/transfers/withdrawals/blockchain
 - Collateral endpoints:
POST accounts/{accountId}/collateral/linkGET accounts/{accountId}/collateral/linkPOST accounts/{accountId}/collateral/{collateralId}/addressesGET accounts/{accountId}/collateral/{collateralId}/addressesGET accounts/{accountId}/collateral/{collateralId}/addresses/{id}POST accounts/{accountId}/collateral/{collateralId}/intents/depositsPOST accounts/{accountId}/collateral/{collateralId}/depositsGET accounts/{accountId}/collateral/{collateralId}/depositsGET accounts/{accountId}/collateral/{collateralId}/deposits/{collateralTxId}POST accounts/{accountId}/collateral/{collateralId}/intents/withdrawalsPOST accounts/{accountId}/collateral/{collateralId}/withdrawalsGET accounts/{accountId}/collateral/{collateralId}/withdrawalsGET accounts/{accountId}/collateral/{collateralId}/withdrawals/{collateralTxId}POST accounts/{accountId}/collateral/{collateralId}/settlementGET accounts/{accountId}/collateral/{collateralId}/settlementGET accounts/{accountId}/collateral/{collateralId}/settlements/{settlementVersion}
 
Updated about 1 month ago
