⚙️API Integration

Prerequisites

  • Your business account with Inqud is set up, complete with API tokens configured.

  • The Crypto Widget has been established and configured within the Inqud platform.

  • The Crypto Widget is active.

  • Static Address Payments web-hook is configured.

Workflow

Payment status transition

Integration

1. Create static address(es) through Inqud API

Create static bundle API Reference

Static addresses are created within static address bundles, each containing multiple unique addresses per blockchain/address type. A bundle is identified by a merchant-supplied referenceId and represents a set of addresses a single user can use to send funds across different blockchains.

Request Example: POST https://api.inqud.com/v1/user/crypto-acquiring/{projectId}/static/bundles

projectId is the ID of the widget

Header
Value

X-Token-API-Id

{tokenApiId}

X-Token-API-Secret

{tokenApiSecret}

Request Body Example:

{
  "allEnabledAssets": false,
  "assets": [
    "ETHEREUM_USDT"
  ],
  "referenceId": "1234567890"
}

Response Example:

{
  "referenceId": "1234567890",
  "id": "CASB-fa46e305-5d61-49f3-ad40-55254ee897d9",
  "addresses": [
    {
      "id": "UBADR-fd06b12f-9663-4b96-a6a7-1de219e7485f",
      "asset": "ETHEREUM_USDT",
      "address": "0x0b1b0856be15a7b1d613fedb2a139a519c1697a4",
      "active": true,
      "values": {
        "minLimit": 20,
        "percentFee": 0,
        "fixedFee": 0,
        "networkFeeEstimate": 4.75
      },
      "createdAt": "2025-02-05T16:45:05.697795853Z"
    }
  ],
  "addressesByAsset": {
    "ETHEREUM_USDT": {
      "id": "UBADR-fd06b12f-9663-4b96-a6a7-1de219e7485f",
      "asset": "ETHEREUM_USDT",
      "address": "0x0b1b0856be15a7b1d613fedb2a139a519c1697a4",
      "active": true,
      "values": {
        "minLimit": 20,
        "percentFee": 0,
        "fixedFee": 0,
        "networkFeeEstimate": 4.75
      },
      "createdAt": "2025-02-05T16:45:05.697795853Z"
    }
  },
  "deactivatedAddresses": [],
  "deactivatedAddressesByAsset": {},
  "assetsMeta": {
    "ETHEREUM_USDT": {
      "name": "ETHEREUM_USDT",
      "currency": "USDT",
      "blockchain": "ETHEREUM",
      "tokenStandard": "ERC-20",
      "contractAddress": "0xf884B63227D3427677c7b045370Bb269FabF1FA7"
    }
  },
  "createdAt": "2025-02-05T16:45:05.569881215Z"
}

The endpoint follows a "getOrCreate" approach. On the first call with a specific referenceId, it creates a new bundle with static addresses. Subsequent calls with the same referenceId return the existing bundle. If an address for a requested asset is missing, it will generate and add it to the existing bundle.

The bundle reuses static addresses when possible. For example, if an Ethereum USDT address exists, a Polygon USDC address will be the same address. This allows a user to send different tokens across multiple blockchains using a single address.

If any static address in the bundle is disabled (e.g., due to AML rule violations), the endpoint will return a newly generated address for that asset.

The following fields in the response are the most important:

Column
Desciption

referenceId

Merchant-provided ID used to track incoming payments

addresses

List of static addresses in the bundle

addresses[].address

Static address for end-user payments

addresses[].active

true if the address can process deposits immediately; false if deposits may be delayed or temporarily unprocessed

addresses[].values.minLimit

Minimum amount the end user must send in a single transaction; otherwise, the payment will fail

addresses[].values.percentFee

A percentage fee is deducted from the incoming transaction amount

addresses[].values.fixedFee

A fixed fee is deducted from the incoming transaction amount

addresses[].values.networkFeeEstimate

An estimated fee deducted from the incoming transaction amount to cover Inqud's transfer costs from the address

addressesByAsset

Basically, the same as addresses but grouped by assets

2. Receive a webhook when a new payment arrives

When an end user sends crypto to the assigned static address, you receive a webhook upon payment detection by the Inqud system.

🪝Web Hooks

3. [Optional] Convert the payment amount to the desired currency

Inqud does not currently convert payment amounts to other currencies. Use a separate endpoint for conversion if needed.

Get rate API Reference

Request Example:

GET https://api.inqud.com/v1/user/crypto-acquiring/rates/{baseAsset}/{quoteAsset}

projectId is the ID of the widget

Header
Value

X-Token-API-Id

{tokenApiId}

X-Token-API-Secret

{tokenApiSecret}

Response Example:

{
  "baseAsset": "BTC",
  "quoteAsset": "USD",
  "rate": 100100.1
}

Last updated