Welcome to the official Bixgate API documentation. Bixgate offers a powerful and flexible API for businesses, e-commerce platforms, fintech solutions, and iGaming operators to manage user wallets, accept deposits, handle withdrawals, and integrate crypto payments seamlessly.

Getting Started

The Bixgate API is a RESTful API available under https://api.bixgate.com. All requests must include your X-Api-Key in the headers and use application/json as the Accept header.

    GET /v1/currency
    Host: api.bixgate.com
    X-Api-Key: YOUR_API_KEY
    Accept: application/json
        

You can manage your gateways, API keys, and webhooks directly in your dashboard: To Your Dashboard.

Gateway Types

Bixgate provides two types of crypto payment gateways:

1. Public Gateway
  • Bixgate covers gas fees, manages HD wallets, and handles sweeps.
  • Quick setup โ€“ ideal for most businesses.
  • Not portable โ€“ wallets cannot be migrated.
  • Great for platforms that want Bixgate to manage everything.
2. Dedicated Gateway
  • Can migrate wallets to your own infrastructure anytime.
  • You handle fees, node availability, and HD wallet security.
  • Flexible and powerful โ€“ for teams with technical capability.

๐Ÿ’ก Invoice-based Wallet Mode will be available in Q1 2026.
๐Ÿ” Instant Crypto-to-Crypto Exchange is coming in Q2 2026.

Integration Flow

  1. Create a Gateway (Public or Dedicated).
  2. Generate your API Key in the dashboard.
  3. Activate your Webhook (URL + HMAC Secret).
  4. Use the API to create a SubUser (your end customer).
  5. Display wallet address and available currency/network .
  6. Listen for Deposit and Withdraw Webhooks.
  7. Balance is swept to your main wallet automatically (configurable in dedicated).
  8. Use the API to check balances, rates, transactions, or withdraw funds.

Webhook Integration

Webhooks notify you when key events happen, like successful deposits or withdrawals. You must configure:

  • Webhook URL โ€“ your endpoint
  • HMAC Secret โ€“ used to verify authenticity
Signature Verification (C#)
            public static string GenerateHmacSha256(string secretKey, string payload)
            {
    var encoding = Encoding.UTF8;
    using var hmac = new HMACSHA256(encoding.GetBytes(secretKey));
    var hashBytes = hmac.ComputeHash(encoding.GetBytes(payload));
    return BitConverter.ToString(hashBytes).Replace("-", "").ToLower(); // hex format
            }
        
Webhook Payload Sample
    {
        "Event": "Withdraw",
        "SubUserIdentifier": "cfa16b86",
        "Data": {
            "TxId": "d16dea338c61....",
            "InternalHash": "BixBT36328ac7d62b....",
            "BlockNumber": 0,
            "Amount": 4.5171,
            "Address": "TPhCMv****DACb5NqMVZ",
            "InteractedWalletAddress": "TCtXL2ZXN*****NjXzz",
            "TransactionTypeId": 2,
            "StatusId": 3,
            "UsdRate": 0.33206,
            "UsdTotal": 1.49998,
            "Currency": {
              "Id": 2,
              "Name": "TRON",
              "Symbol": "TRX",
              "ContractAddress": "native",
              "NetworkId": 3,
              "DecimalPlaces": 4,
              "IsActive": true,
              "Logo": "[logo url]",
              "Network": {
                "Id": 3,
                "Name": "TRON",
                "IsActive": true,
                "Logo": "[logo url]"
              }
            },
            "BlockchainWallet": {
              "DepositAddress": "TPhC****b5NqMVZ",
              "IsActive": true,
              "Network": {
                "Id": 3,
                "Name": "TRON",
                "IsActive": true,
                "Logo": "[logo url]"
              }
            },
            "Status": "Processing",
            "TransactionType": "Withdraw"
          },
          "GatewayName": "test",
          "RetryCount": 0,
          "Timestamp": "2025-06-08T22:24:32.1049434Z"
        }
    }
        

Standard API Response Format

All responses follow a standardized JSON format:

            {
    "IsSuccess": true,
    "Data": { ... },
    "ErrorCode": null,
    "ErrorMessage": null,
    "ValidationErrors": [],
    "CorrelationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
            }
        

Always log the CorrelationId for troubleshooting and traceability. It propagates through services and is returned in all responses.

Available API Features

  • ๐Ÿ“ฅ Create SubUser (your end customer).
  • ๐Ÿ” Manage your Gateway Wallets
  • ๐Ÿ’ธ Withdraw Funds
  • ๐Ÿ’ฑ Get Currency Rate
  • ๐ŸŒ Get Available Networks
  • ๐Ÿช™ Get Available Currencies
  • ๐Ÿ“Š Get Gateway Balances
  • ๐Ÿ“‘ Get Transaction Info (via TxID or Internal Hash)

๐Ÿ‘‰ All endpoints are available in Swagger UI for testing.

Security & Best Practices

  • ๐Ÿ”’ Always store your X-Api-Key securely. Rotate regularly.
  • ๐Ÿ›ก๏ธ Validate HMAC-SHA256 signatures on webhooks.
  • ๐Ÿ“Œ Rate limit your endpoint usage.
  • ๐Ÿ•ต๏ธโ€โ™‚๏ธ Monitor transactions with CorrelationId and logs.
  • ๐Ÿ“‰ Use USD conversion to calculate fiat values (see rate endpoints).
  • ๐Ÿงช Use staging gateway for testing before production.

Platform Roadmap

  • ๐Ÿ“„ Invoice-based Wallets โ€“ Q1 2026
  • ๐Ÿ” Instant Crypto-to-Crypto Exchange โ€“ Q2 2026
  • ๐Ÿง  KYB-Based Custom Gateway Migration
  • ๐Ÿ“ˆ Advanced Ledger & Analytics