Skip to main content
The ByBit integration allows a developer to enable a ByBit user to use their ByBit Pay balance to deposit in their desired platform / wallet address.
Check the use cases that it can serve here.
The supported sources and destinations can be found below along with important integration information.

Go over legends & concepts ✅

Learn key terminologies for a better implementation
Supported Source CurrencySupported Source RailSupported Destination CurrencySupported Destination RailQuote EstimationMinimum Order LimitMaximum Order LimitEstimated Settlement Time (once deposit received)Settlement Configuration (settlment_via)Fee rebalancing capability (rebalance_fee)
USDCBYBITUSDCSOLANA3Not applicable yet~ 3 minsONE_TO_ONEtrue / false
USDCBYBITUSDCETHEREUM👷 In Progress..7Not applicable yet~ 3 minsONE_TO_ONEtrue / false
USDCBYBITUSDCBASE👷 In Progress..3Not applicable yet~ 3 minsONE_TO_ONEtrue / false
USDTBYBITPYUSDSOLANA👷 In Progress..3Not applicable yet~ 3 minsMARKET_ORDERHas to be always true (in roadmap for full support)
For routes where “Fee rebalancing capability” & “Quote estimation” is limited. Fin can enable both upon request of the Developer or Fin will enable themselves if it is in the roadmap.Please send request in your dedicated communication group.

ByBit Quote creation:

The quote endpoint requires a few key action for different settlement configuration at the moment
curl --request POST \
  --url https://sandbox.api.fin.com/v1/transit/quote \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "order_amount": "100.00",
  "integration_type": "BYBIT",
  "settlement_config": {
    "settlement_via": "MARKET_ORDER",
    "rebalance_fee": true,
    "destination_details": {
      "wallet_address": "SOLANA_WALLET_ADDRESS",
      "currency": "USDC",
      "rail": "SOLANA"
    }
  }
}
'
To get a quote using settlement_via = MARKET_ORDER , rebalance_fee has to be true . We are in the processing of adding support for false as well.

ByBit Order creation:

The only required fields in different cases has been share below, more cases to be added as there are more use cases within ByBit that Fin supports.
{
  "integration_type": "BYBIT",
  "order_info": {
    "payment_type": "E_COMMERCE",
    "merchant_trade_no": "841e4ba2-1234-5678-9abc-a2a45de7bd00",
    "order_amount": "100.00",
    "currency": "USDT",
    "currency_type": "crypto",
    "order_expire_time": 3600,
    "goods": [
      {
        "shopping_name": "test good1",
        "mcc_code": "1520",
        "goods_name": "test1",
        "goods_detail": "First product"
      }
    ],
    "env": {
      "terminal_type": "APP",
      "device": "iPhone 15",
      "browser_version": "iOS 17.0 Safari",
      "ip": "192.168.0.1"
    },
  },
  "fin": {
    "settlement_config": {
      "settlement_via": "MARKET_ORDER",
      "destination_details": {
        "wallet_address": "Ox....",
        "currency": "PYUSD",
        "rail": "SOLANA"
      }
    }
  }
}
If quote_id is provided then order_amount & fin object cannot be provided. Hence if the quote_id is not provided then order_amount & fin object is mandatory.

Definitions of parameters:

Parameters are ByBit specific, hence please find the definitions of those parameters in the APIs below in the table below.
Param nameDefinition
merchant_trade_noUUID from the developer side for a particular order
order_expire_time(Optional) By default the order will be valid for 1 hour. A developer can put their custom time range. The minimum order expire time is 10 mins
goodsIn ByBit when something is being paid for it is attributed to a good. We need the goods information within this object
goods.mccUniversal Merchant Category Codes, can be found here
goods.goods_nameName of the good that is being paid for
goods.goods_detailDetail of the good that is being paid for
envNeeds to be accurate. Details about the customers environment, this requires information regarding the users device information
env.terminal_typeAPP / WEB / WAP / MINIAPP - where is the customer initiating the payment from
env.deviceDevice name of the customer
env.browser_versionBrowser version of the customer where the web view is being loaded
env.ipCustomers IP

Response Differences for ByBit

Integration TypeResponse Field
BYBITdata.provider_response