Tranza Public API

Download OpenAPI specification:Download

Welcome to the Tranza Public API documentation.

This specification lists the currently published public endpoints for working with Tranza: address generation and management, transaction and withdrawal flows, payment-page integration, AML checks, reporting and platform utilities.

Authentication: include your API key in requests where required (see operation descriptions). The older "PublicKey" field is deprecated — please use "ApiKey".

For production snapshots, historical OpenAPI/Swagger exports, integration details or commercial inquiries (demos, onboarding, access to internal endpoints), write to support@tranza.io. If you spot outdated entries or missing info, report them to the same address and we will sort it out.

Address

Requests to generate and inspect crypto addresses.

Get address info

This request returns detailed information about a cryptocurrency address (balances, metadata, AML info and status). Provide the Address and ApiKey in the request. Use this method to inspect an address or to check its current balance and AML score.

Request Body schema:
Address
required
string

Cryptocurrency address to inspect.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "Address": "string",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "AddressesResponce": [
    ],
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Get addresses info

Retrieve information for multiple addresses associated with the wallet. Use filters or ApiKey to scope the result. The response contains an array of address records with balances and metadata.

Request Body schema:
Addresses
required
Array of strings

Array of cryptocurrency addresses to inspect.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "Addresses": [
    ],
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ExternalId": "string",
  • "Label": "string",
  • "Address": "string",
  • "Created": "2019-08-24T14:15:22Z",
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Edit address attributes

Update address attributes such as label, comment, callback URL, visibility and status. Partial updates are supported — only fields present in the request are changed. Identify the address either by internal Id or by Address+Symbol.

Request Body schema:
Id
integer or null <int64>

Internal address ID. Alternative to the Address+Symbol pair for identification.

Address
string or null

Full crypto address. Use together with Symbol if Id is not provided.

Symbol
string or null

Blockchain/asset symbol (e.g., BTC, ETH, TRX, USDT-TRC20). Used together with Address.

Comment
string or null

Free-form note or metadata for the address.

Label
string or null

Internal label or business tag for the address (e.g., your client/user ID).

Status
integer <int32> (AddressStatus)
Enum: 1 2

Active = 1, Inactive = 2

Details
string or null

Additional details or metadata.

ExpiryDate
string or null <date-time>

Optional expiration datetime for this address.

IsHidden
boolean or null

Whether to hide this address in the UI (true/false).

CallBackLink
string or null

Callback URL override for this specific address (incoming transaction notifications).

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "Id": 0,
  • "Address": "string",
  • "Symbol": "string",
  • "Comment": "string",
  • "Label": "string",
  • "Status": 1,
  • "Details": "string",
  • "ExpiryDate": "2019-08-24T14:15:22Z",
  • "IsHidden": true,
  • "CallBackLink": "string",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ExternalId": "string",
  • "Label": "string",
  • "Address": "string",
  • "Created": "2019-08-24T14:15:22Z",
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Create a new address / Get deposit address

Request creation (or retrieval) of a deposit address for a specified currency. Use the 'Currency' field and your ApiKey. Set 'New' = true to force creation of a new address; otherwise the service may return an existing one suitable for deposits.

Request Body schema:
ExternalId
string or null

DEPRECATED. Former external customer identifier — do not use for new integrations. Use Label instead.

Currency
required
string

Currency symbol, currently available parameters "BTC" and "USDT-TRC20"

New
required
boolean

"false" allow to keep an existing crypto address for all user deposit. "true" - means for deposit to generate a new address.

ExpectedAmount
number or null <double>

Expected amount

CallBackLink
string or null

Callback reference

AdditionalInfo
string or null

DEPRECATED. Former additional info field — do not use for new integrations. Use Label instead.

Comment
string or null

Optional free-form note or metadata for this deposit address request.

Label
string or null

Label for the address — your client/user identifier or business tag. Use it instead of the legacy ExternalId to associate the generated address with a customer.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "ExternalId": "string",
  • "Currency": "string",
  • "New": true,
  • "ExpectedAmount": 0,
  • "CallBackLink": "string",
  • "AdditionalInfo": "string",
  • "Comment": "string",
  • "Label": "string",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Id": 0,
  • "ExternalId": "string",
  • "Label": "string",
  • "Address": "string",
  • "Created": "2019-08-24T14:15:22Z",
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Transaction

Requests for withdrawals, listing and transaction operations.

Get queued transactions count

Returns the total number of transactions currently in the processing queue. Useful for health checks and monitoring queue depth.

Request Body schema:
PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "QueuedTotalCount": 0,
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

List transactions

Retrieve a paginated list of transactions. Supports filtering, sorting, and pagination (Page, Count, Filter, SortField, SortDirection). Use this method to obtain transaction history or to find specific transactions by address, time range, status, or amount. Both Page and Count are required — the endpoint never returns all records at once. Filtering and search are applied only within the specified page; to scan the entire dataset, iterate through pages (Page + 1, Page + 2, etc.) until fewer results are returned than Count or Total is reached. For full syntax, supported fields, and examples of using the Filter parameter, refer to the internal guide “Using Dynamic Filtering.” If you don’t have access, please request it from Tranza support.

Request Body schema:
Page
required
integer <int32> [ 1 .. 2147483647 ]

Page number (1-based). Must be >= 1. Always send together with Count.

Count
required
integer <int32> [ 1 .. 200 ]

Items per page. Range: 1–200. Always send together with Page.

Search
string or null

Free-text search string applied across endpoint-specific fields.

SortField
string or null

Field name to sort by (endpoint-specific). Example: "Created".

SortDirection
string or null

Sort direction: "asc" for ascending, "desc" for descending.

Filter
any or null

Dynamic filter object (endpoint-specific). Allows building complex AND/OR/NOT conditions by field, operator, and value. See the internal guide “Using Dynamic Filtering” for full syntax, examples, and supported fields. If you don’t have access to this document, please request it from Tranza support.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "Page": 1,
  • "Count": 1,
  • "Search": "string",
  • "SortField": "string",
  • "SortDirection": "string",
  • "Filter": null,
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Page": 0,
  • "Count": 0,
  • "List": [
    ],
  • "Offset": 0,
  • "Total": 0,
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Create withdrawal request

Create a withdrawal request from a specified source address to a destination address. Provide Amount, Currency and ApiKey; optional fields control commission handling, comments and withdrawal behavior. The response contains request status and possible error codes. Sample request:

{
    "RequestId": "12",
    "SourceAddress": "tb1q3x36ngn6fzes8ev0xjlpf37rgegty5u5s5qavq",
    "DestinationAddress": "tb1qhvyv4mzy2rvtxtfcpmx9x4sr0mwnhxr0v82w35",
    "Amount": "0.0005",
    "Currency": "BTC",
    "PublicKey": "R+G8IAuq81P8YE0THH++7g=="
}
Request Body schema:

Description of the request model

RequestId
string or null

Request ID. Needed to identify the answer.

SourceAddress
string or null

The address from which funds are withdrawn

DestinationAddress
string or null

The address to which the funds are credited

Amount
number <double>

Withdrawal amount

Currency
string or null

Withdrawal currency

IsSenderCommission
boolean

true - commission is taken from the sender, false - from the receiver

Comment
string or null

Payment comment

CommissionType
string (CommissionType)
Enum: "None" "Fast" "Medium" "Slow" "Gas" "Energy" "Blockchain"

None = 0, Fast = 1, Medium = 2, Slow = 3, Gas = 4, Energy = 5, Blockchain = 6

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Callbacks

Request samples

Content type
{
  • "RequestId": "string",
  • "SourceAddress": "string",
  • "DestinationAddress": "string",
  • "Amount": 0,
  • "Currency": "string",
  • "IsSenderCommission": true,
  • "Comment": "string",
  • "CommissionType": "None",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Callback payload samples

Callback
POST: Webhook with transaction details for deposits and withdrawals
Content type
application/json
{
  • "RequestId": "string",
  • "Id": 0,
  • "ExternalId": "string",
  • "AdditionalInfo": "string",
  • "Label": "string",
  • "AddressComment": "string",
  • "Address": "string",
  • "SenderAddresses": "string",
  • "Amount": 0,
  • "Currency": "string",
  • "Rate": 0,
  • "TxId": "string",
  • "Date": "2019-08-24T14:15:22Z",
  • "Error": "string",
  • "Comment": "string",
  • "Initiator": "None",
  • "Type": 1,
  • "Status": 0,
  • "Aml": {
    },
  • "Checksum": "string"
}

AML

AML checks and status operations (risk and compliance).

AML check address

Initiate an AML risk check for a specific crypto address on a selected blockchain. The check runs asynchronously and returns a RequestUid which can be used to query the result with /Aml/CheckStatus.

query Parameters
Address
string

Address to check (cryptocurrency address).

Blockchain
string

Blockchain of the address (e.g. BTC, ETH, TRON).

PublicKey
string

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Response samples

Content type
application/json
{
  • "RequestUid": "string",
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

AML address check status

Retrieve the status or final result of an AML check previously started with /Aml/Check. Provide the RequestUid returned by the initial request.

query Parameters
RequestUID
string

Request UID returned by /Aml/Check — use this value to fetch the check result.

PublicKey
string

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Response samples

Content type
application/json
{
  • "RiskScore": 0,
  • "CheckStatus": "None",
  • "SignalDetails": {
    },
  • "Counterparties": {
    },
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Merchant

Merchant and wallet-related endpoints and settings.

Get wallet information

Retrieve information about the wallet/merchant identified by the provided ApiKey, including name, label, callback settings and allowed withdrawal IPs.

Request Body schema:
PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Merchant": {
    },
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Set favorite merchant

Mark a merchant as favorite in the listing. Favorite merchants are prioritized in UI lists. Requires valid ApiKey and merchant identifier.

Request Body schema:
MerchantId
integer <int64>

Required if API key not master.

IsFavorite
required
boolean

true — mark as favorite; false — remove from favorites.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "MerchantId": 0,
  • "IsFavorite": true,
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

PaymentPageApi

Payment page configuration and invoice lifecycle.

Get payment page project info

Retrieve configuration and localization parameters for payment pages (project settings, available localizations and page parameters).

Request Body schema:

The request containing the data to get project data.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Data": {
    },
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Manage payment invoice state

Retrieve or update invoice information for payment pages. Use this endpoint to inspect invoice details and current payment state. The method workflow is as follows:

  1. Validation:
    • Checks if the ApiKey is provided and valid.
    • Checks if the project exists by specified ApiKey and it's enabled.
    • If InvoiceId is empty or non-existing, a new invoice is created.
  2. Invoice Creation:
    • If Amount is not provided or is zero, the invoice is initialized at the SetAmount step.
    • If Amount is provided, but Blockchain, and Symbol are missing, the invoice is initialized at the SelectCurrency step.
    • If Amount, Blockchain, and Symbol are all provided, the invoice is initialized at the AwaitingPayment step.
  3. Invoice Retrieval and Update: If no additional parameters are provided, the invoice is returned as is, otherwise updates the invoice based on its current step:
    • SetAmount: requires Amount to proceed to the next step.
    • SelectCurrency: requires Blockchain, and Symbol to proceed to the next step.
    • AwaitingPayment or Processed: returns the invoice without changes (only Label can be changed at this moment).
Request Body schema:

The request containing the data to modify invoice.

InvoiceId
string or null

The external id of invoice. If unsent – the new invoice should be created.

Amount
number or null <double>

The amount to be paid in the user-selected currency.

Blockchain
string or null

The blockchain network associated with the payment.

Symbol
string or null

The symbol of the cryptocurrency associated with the payment.

Rate
number or null <double>

The exchange rate used to calculate InvoiceAmount in currency for AmountToPay in cryptocurrency.

Label
string or null

The label of invoice.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "InvoiceId": "string",
  • "Amount": 0,
  • "Blockchain": "string",
  • "Symbol": "string",
  • "Rate": 0,
  • "Label": "string",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Invoice": {
    },
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Report

Reporting endpoints (wallet balances, transaction summaries).

Get wallet balances

Returns balances for wallets accessible by the provided ApiKey. Use this method to get per-wallet currency balances and summaries for reporting or reconciliation.

Request Body schema:
PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Wallets": [
    ],
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

Currency

Currency listing and related operations.

Get currencies list

Return the list of currencies supported by the wallet. Use ApiKey to scope results if needed. The response contains currency symbols and identifiers used in other API calls.

Request Body schema:
PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
application/json
{
  • "Cryptocurrencies": [
    ],
  • "Status": "string",
  • "ErrorCode": "string",
  • "ErrorMessage": "string",
  • "Error": {
    }
}

BlockchainSync

Control endpoints for blockchain sync processes.

Start blockchain sync

Trigger start of blockchain synchronization process for the node/service. Intended for maintenance and operational control; requires appropriate privileges.

Request Body schema:
Addresses
Array of strings or null

Optional list of crypto addresses to (re)scan first. If provided, the sync prioritizes or limits processing to these addresses. If omitted, sync runs for the whole currency/blockchain scope defined by Symbol/Blockchain.

Blockchain
string or null

Target blockchain (e.g., "Bitcoin", "Ethereum", "TRON"). Use when you need a chain-level sync. You must specify at least one of: Blockchain or Symbol.

Symbol
string or null

Currency/asset symbol to sync (e.g., BTC, ETH, TRX, USDT-TRC20). Use when you need currency-level sync. You must specify at least one of: Blockchain or Symbol.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "Addresses": [
    ],
  • "Blockchain": "string",
  • "Symbol": "string",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
No sample

Stop blockchain sync

Stop the blockchain synchronization process. Use only in maintenance scenarios and with care to avoid data inconsistency.

Request Body schema:
SyncId
string or null

Identifier of the running sync job to stop. Returned by /BlockchainSync/Start (or visible in your ops logs/monitoring). Required — the request will fail if SyncId is missing or does not match an active job.

PublicKey
string or null

DEPRECATED. Former public key field — do not use for new integrations. Use ApiKey instead.

ApiKey
string or null

API key used to authenticate requests to the Tranza Public API. Obtain it in the client application on the "Wallets" page, in the "API Key" column. Keep this key secret.

Responses

Request samples

Content type
{
  • "SyncId": "string",
  • "PublicKey": "string",
  • "ApiKey": "string"
}

Response samples

Content type
No sample