1. Introduction

To work with API, you need to get API-Key and API-secret in your personal account.

2. Authentication

With each API call, you need to pass the following headers:

2.1. Authentication Headers

Header Description

API-Key

Your API key obtained from your personal account (https://capitalist.net/developers/api)

X-Request-Timestamp

Current timestamp in epoch milliseconds

Signature

SHA-256 hex hash of: X-Request-Timestamp + request body + API-secret

2.2. Signature Calculation Example

2.2.1. Input Data

  • Request timestamp: 1678901234567

  • Request body:

    {"type":"PAYONEER","accountFrom":"U0123504","payload":{"account":"[email protected]"},"userRequestId":"1745844029437","callbackUrl":"https://some-domain.com/callbacksFromCap","amount":100}
  • API secret: somePrivateApiSecret

2.2.2. Signature Calculation Steps

  1. Concatenate the following components as a single string:

    rawString = X-Request-Timestamp + requestBody + API-secret
  2. In this case:

    1678901234567{"type":"PAYONEER","accountFrom":"U0123504","payload":{"account":"[email protected]"},"userRequestId":"1745844029437","callbackUrl":"https://some-domain.com/callbacksFromCap","amount":100}somePrivateApiSecret
  3. Calculate SHA-256 hex of the string above:

    val signature = sha256Hex(input)
  4. Resulting signature (SHA-256 digest as a hex string):

    2eec8f9fcedae5de9a4ebba8e4ef393ece034a1a14a28a51ee34812311e5b516
  5. Final Header to send:

    Signature: 2eec8f9fcedae5de9a4ebba8e4ef393ece034a1a14a28a51ee34812311e5b516

3. Security: IP Whitelist

API methods may be restricted to a whitelist of IP addresses. Requests coming from IPs that are not in the whitelist will be rejected.

You can manage the whitelist via dedicated endpoints below. The request body accepts an array of strings with exact IPs or wildcard patterns for the last octet (e.g., 127.0.0.*).

3.1. Read Whitelist

Endpoint: GET /v1/whitelist

Returns an array of IPs.

Response Body
["12.12.11.14"]

3.2. Add IPs to Whitelist

Endpoint: POST /v1/whitelist

Request Body
{
  "ip": ["12.12.11.14"]
}
Request Fields
Field Type Required Description

ip

array[string]

Yes

List of IPs or patterns to allow (e.g., "12.12.11.14", "127.0.0.*").

3.3. Remove IPs from Whitelist

Endpoint: POST /v1/whitelist/remove

Request Body
{
  "ip": [
      "127.0.0.*",
      "127.0.0.1"
  ]
}
Request Fields
Field Type Required Description

ip

array[string]

Yes

List of IPs or patterns to remove from the whitelist.

4. API Endpoints

4.1. Account Management

4.1.1. List Accounts

Endpoint: GET /v1/account/list

Retrieves a list of accounts filtered by currency.

Request Parameters
Parameter Type Required Description

currency

string

Yes

Currency code to filter accounts (e.g., USD, EUR, RUR, BTC, USDT, USDTt, USDC).

Note: USDT - for ERC-20, USDTt - for TRC-20R)

Response

Returns an array of account objects.

[
  {
    "number": "U0123504",
    "currency": "USD",
    "name": "Main Account",
    "balance": 1250.50
  }
]
Response Fields
Field Type Description

number

string

Account number identifier

currency

string

Account currency code

name

string

Account display name

balance

number

Current account balance

4.2. Exchange Operations

4.2.1. Create Currency Exchange

Endpoint: POST /v1/exchange

Creates a currency conversion/exchange operation between accounts.

Request Body
{
  "fromAccount": "U0123504",
  "toAccount": "E0123505",
  "amount": 100.00
}
Request Fields
Field Type Required Description

fromAccount

string

Yes

Source account number

toAccount

string

Yes

Destination account number

amount

number

Yes

Amount to exchange from source account

Response

Returns null on success.

4.3. Exchange Rate

4.3.1. Get Exchange Rate

Endpoint: GET /v1/rate

Retrieves the current exchange rate between two currencies.

Request Parameters
Parameter Type Required Description

from

string

Yes

Source currency code

to

string

Yes

Target currency code

Response

Returns the exchange rate as a number.

1.0842

4.4. Payment Operations

4.4.1. Create Payment

Endpoint: POST /v1/payment

Creates a new payment transaction.

The payment type is determined by the payload object — its structure defines the specific payment flow and validation rules.

Optionally, you may include a callbackUrl field. If provided, the system will send a callback request to this URL with the final payment status once the transaction is completed.

Warning
Not all payment channels listed in the documentation may be currently available.
Request Body
{
  "userRequestId": "string",
  "accountFrom": "string",
  "amount": 0.1,
  "currency": "string",
  "comment": "string",
  "callbackUrl": "string",
  "payload": {
    "type": "SOME_BANK_TYPE",
    "account": "string",
    "taxId": "string",
    "cbu": "string"
  }
}
Request Fields
Field Type Required Description

userRequestId

string

Yes

Your unique transaction identifier

accountFrom

string

Yes

Your account number from which funds will be withdrawn

amount

number

Yes

Transaction amount in account currency or in the specified currency

currency

string

No

Currency code (e.g., USD, EUR, RUR, BTC, USDT, USDTt, USDC). Note: USDT - for ERC-20, USDTt - for TRC-20

comment

string

No

Optional transaction comment

callbackUrl

string

No

URL where the system will send callback notifications about transaction status

payload

object

Yes

Payment-specific data. Required fields depend on the payment channel type

Response

If the request is successful, the API returns a JSON object containing the unique document ID of the created payment.

{
  "documentId": 9007199254740991
}
Response Fields
Field Type Description

documentId

integer

Unique identifier of the created payment document

4.4.2. Get Payment Status by Document ID

Endpoint: GET /v1/payment/document/{documentId}

Retrieves the current status and details of a payment by its document ID. The response also includes all payment fields as originally submitted, as well as the calculated fee associated with the transaction.

Path Parameters
Parameter Type Required Description

documentId

integer

Yes

Unique document identifier returned when payment was created

Response
{
  "state": "EXECUTED",
  "fee": 1.12,
  "documentId": 123,
  "comment": "Own funds",
  "amount": 100.00,
  "currency": "USD",
  "type": "PAYONEER",
  "accountFrom": "U0123504",
  "payload": "{\"account\":\"[email protected]\",\"type\":\"PAYONEER\"}",
  "userRequestId": "9876543219",
  "callbackUrl": "https://some-domain.com/for-callbacks"
}

4.4.3. Get Payment Status by User Request ID

Endpoint: GET /v1/payment/{userRequestId}

Retrieves the current status and details of a payment by your unique request identifier. The response also includes all payment fields as originally submitted, as well as the calculated fee associated with the transaction.

Path Parameters
Parameter Type Required Description

userRequestId

string

Yes

Your unique transaction identifier specified when creating the payment

Response

Same response format as "Get Payment Status by Document ID".

Response Fields
Field Type Description

state

string

Payment state (PENDING, EXECUTED, DECLINED)

fee

number

Transaction fee amount

documentId

integer

Unique document identifier

comment

string

Transaction comment (may be null)

amount

number

Transaction amount

currency

string

Transaction currency code

type

string

Payment channel type (e.g., RUCARD, PAYONEER)

accountFrom

string

Source account identifier

payload

string

JSON string containing payment-specific data

userRequestId

string

Your unique request identifier

callbackUrl

string

Callback URL for notifications

4.5. Merchant Orders

4.5.1. Get Orders

Endpoint: GET /v1/orders

Retrieves a list of orders using filters.

Request Parameters
Parameter Type Required Description

limit

number

No

Maximum number of returned orders. Default value is 100.

offset

number

No

Offset of returned orders. Default value is 0.

periodStart

string

No

Date in ISO 8601 format

periodEnd

string

No

Date in ISO 8601 format

orderNumber

string

No

Order number identifier

merchantName

string

No

Merchant name

orderId

number

No

Order id identifier

merchantId

number

No

Merchant id identifier

Response

Returns an array of merchant orders.

{
  "orders": [
    {
      "merchantId": 163,
      "number": "utorg0012",
      "creationDate": "2020-08-31T18:49:23.670Z",
      "description": "My demo payment.",
      "currency": "BTC",
      "state": "PAID",
      "amount": 0.00161283,
      "paidAmount": 0.00161283,
      "cryptoCurrency": "BTC",
      "orderId": 800000012
    }
  ],
  "count": 123
}
Response Fields
Field Type Description

orders

Array[Object]

List of orders

count

number

Number of orders

Order Object Fields
Field Type Description

merchantId

number

Merchant id identifier

number

string

Order number identifier

creationDate

string

Date of creation in ISO 8601 format.

currency

string

Currency code

cryptoCurrency

string

Crypto currency code

state

number

Order state. Possible values: NEW, PARTIALLYPAID, PAID, FAIL, REFUND, CHARGEBACK, CANCELLED.

amount

number

Order amount

paidAmount

number

Order paid amount

orderId

number

Order id identifier

description

string

Order description

4.6. List transactions

4.6.1. Get Transactions

Endpoint: GET /v1/transactions

Retrieves a list of transactions using filters.

Request Parameters
Parameter Type Required Description

limit

number

No

Maximum number of returned orders. Default value is 100.

offset

number

No

Offset of returned orders. Default value is 0.

periodStart

string

No

Date in ISO 8601 format

periodEnd

string

No

Date in ISO 8601 format

transactionId

number

No

Transaction id identifier

Response

Returns an array of merchant orders.

{
    "transactions": [
        {
            "transactionId": 8367664,
            "createDate": "2014-02-18T21:47:29.452Z",
            "executeDate": "2014-02-18T21:47:39.543Z",
            "type": "EXTERNALOUT",
            "state": "EXECUTED",
            "amount": 500.00000000,
            "currency": "USD",
            "planDate": "2014-02-18T21:21:53.314Z",
            "version": 1
        }
    ],
    "count": 123
}
Response Fields
Field Type Description

transactions

Array[Object]

List of transactions

count

number

Number of transactions

Transaction Object Fields
Field Type Description

transactionId

number

Transaction id identifier

createDate

string

Date of creation in ISO 8601 format.

executeDate

string

Date of execution in ISO 8601 format.

type

string

Transaction type

state

string

Transaction state

amount

number

Transaction amount

currency

string

Currency code

planDate

string

Date of plan in ISO 8601 format.

version

number

Transaction version

5. Payment Callbacks

The service will inform you about changes in the payment status using the callbackUrl link. A POST request will be sent to this URL when a final status is received.

5.1. Callback Headers

Header Description

X-Request-Timestamp

Current timestamp in epoch milliseconds

Signature

SHA-256 hex hash of: X-Request-Timestamp + request body + API-secret

Note
The callback signature is calculated the same way as the request signature. Use this to verify the authenticity of the callback. When validating the callback, use the timestamp from the X-Request-Timestamp header together with your API-secret to recompute the signature and compare it with the value in the Signature header.

5.2. Callback Body Fields

Field Type Required Description

state

string

Yes

Document final state (EXECUTED, DECLINED)

fee

number

Yes

Transaction fee amount

documentId

integer

Yes

Unique identifier of the transaction document

comment

string

No

Additional information or notes about the transaction

amount

number

Yes

Transaction amount

currency

string

Yes

Transaction currency code (e.g., USD, EUR)

type

string

Yes

Transaction type (e.g., RUCARD, PAYONEER)

accountFrom

string

Yes

Source account identifier

userRequestId

string

Yes

Unique request identifier from the user

callbackUrl

string

Yes

URL for sending callback notifications

5.3. Example Callback Body

{
  "state": "EXECUTED",
  "fee": 1.12,
  "documentId": 123,
  "comment": "Own funds",
  "amount": 100.00,
  "currency": "USD",
  "type": "PAYONEER",
  "accountFrom": "U0123504",
  "userRequestId": "9876543219",
  "callbackUrl": "https://some-domain.com/for-callbacks"
}

6. Payment Channels

The following payment channels are supported. Each channel has specific validation requirements for the payload field.

Each supported record type in the system has its own validation rules. These rules define which fields are required in the request payload when creating a new payment.

Warning
Not all payment channels listed in the documentation may be currently available.

6.1. Card Payments

6.1.1. RUCARD - Russian Cards

Russian payment cards.

Required Fields
Field Type Description

type

string

Must be "RUCARD"

account

string

Russian card number (16-19 digits, digits only)

name

string

Cardholder first name

surname

string

Cardholder last name

midname

string

Cardholder middle name (patronymic)

Example Payload
{
  "type": "RUCARD",
  "name": "Ivan",
  "account": "1234567890123456",
  "surname": "Petrov",
  "midname": "Sergeevich"
}

6.1.2. RUCARDP2P / RUCARDP2PDYN - Russian P2P Card Transfers

Peer-to-peer transfers between Russian cards.

Required Fields
Field Type Description

type

string

Must be "RUCARDP2P" or "RUCARDP2PDYN"

account

string

Russian card number (16-19 digits, digits only)

name

string

Cardholder first name

surname

string

Cardholder last name

midname

string

Cardholder middle name (patronymic)

Example Payload
{
  "type": "RUCARDP2P",
  "account": "1234567890123456",
  "name": "Ivan",
  "surname": "Petrov",
  "midname": "Sergeevich"
}

6.1.3. UKRCARD - Ukrainian Cards

Payment cards issued by Ukrainian banks.

Required Fields
Field Type Description

type

string

Must be "UKRCARD"

account

string

Card number (digits only)

Example Payload
{
  "type": "UKRCARD",
  "account": "1234567890123456"

}

6.1.4. TRCARD - Turkish Cards

Payment cards issued by Turkish banks.

Required Fields
Field Type Description

type

string

Must be "TRCARD"

account

string

Card number (16 digits starting with 4, 5, or 9)

senderFullname

string

Sender’s full name as on card

senderIdentityNumber

string

Sender’s tax code number (11 digits)

beneficiaryFullname

string

Recipient’s full name

Example Payload
{
  "type": "TRCARD",
  "account": "423411110123111",
  "senderFullname": "Ahmet Ymaz",
  "senderIdentityNumber": "12345678901",
  "beneficiaryFullname": "Mehmet Damir"
}

6.1.5. GECARD - Georgian Cards

Cards issued by Georgian banks.

Required Fields
Field Type Description

type

string

Must be "GECARD"

account

string

Card number

senderFirstname

string

Sender’s first name

senderLastname

string

Sender’s last name

senderIdentityNumber

string

Sender’s ID number

receiverFirstname

string

Recipient’s first name

receiverLastname

string

Recipient’s last name

Example Payload
{
  "type": "GECARD",
  "account": "5234567890123456",
  "senderFirstname": "Giorgi",
  "senderLastname": "Piponia",
  "senderIdentityNumber": "01234567890",
  "receiverFirstname": "Nino",
  "receiverLastname": "Kupdze"
}

6.1.6. AZCARD - Azerbaijani Cards

Cards issued by Azerbaijani banks.

Required Fields
Field Type Description

type

string

Must be "AZCARD"

account

string

Card number (exact length depends on issuer)

cardExpiryYear

string

4-digit future year (e.g., 2033)

cardExpiryMonth

string

2-digit month (01-12)

Example Payload
{
  "type": "AZCARD",
  "account": "1234567890123456",
  "cardExpiryYear": "2033",
  "cardExpiryMonth": "11"
}

6.1.7. KZCARD - Kazakhstani Cards

Payment cards issued by Kazakhstani banks.

Required Fields
Field Type Description

type

string

Must be "KZCARD"

account

string

Card number (digits only)

Example Payload
{
  "type": "KZCARD",
  "account": "1234567890123456"
}

6.1.8. UZCARD - Uzbekistani Cards

Payment cards issued by Uzbekistani banks.

Required Fields
Field Type Description

type

string

Must be "UZCARD"

account

string

Card number (digits only)

Example Payload
{
  "type": "UZCARD",
  "account": "1234567890123456"
}

6.1.9. WORLDCARDEUR / WORLDCARDUSD - International Cards

International payment cards in EUR or USD.

Required Fields
Field Type Description

type

string

Must be "WORLDCARDEUR" or "WORLDCARDUSD"

account

string

Card number (16-18 digits, no spaces)

name

string

Cardholder first name

surname

string

Cardholder last name

cardCurrency

string

Must match service (EUR/USD)

birthDate

string

Date in YYYY-MM-DD format

address

string

Full street address

addressCountryCode

string

Country code (ISO)

addressCity

string

City name

cardExpiryMonth

string

2 digits (01-12)

cardExpiryYear

string

4 digits (e.g., 2025)

Example Payload
{
  "type": "WORLDCARDEUR",
  "account": "1234567890123456",
  "name": "John",
  "surname": "Smith",
  "cardCurrency": "EUR",
  "birthDate": "1990-01-01",
  "address": "123 Main Street",
  "addressCountryCode": "USA",
  "addressCity": "New York",
  "cardExpiryMonth": "12",
  "cardExpiryYear": "2025"
}

6.2. Bank Transfers

6.2.1. ARBANK - Argentinian Banks

Bank accounts in Argentina.

Required Fields
Field Type Description

type

string

Must be "ARBANK"

account

string

Beneficiary account ID (alphanumeric, exact length depends on bank)

taxId

string

Exactly 11 digits of beneficiary’s tax ID

cbu

string

22-digit numeric code for routing transfers

Example Payload
{
  "type": "ARBANK",
  "account": "12345",
  "taxId": "12345678901",
  "cbu": "1234567890123456789012"
}

6.2.2. BRBANK - Brazilian Banks

Bank accounts in Brazil.

Required Fields
Field Type Description

type

string

Must be "BRBANK"

taxId

string

11 digits of taxpayer identification number (CPF format)

name

string

Full legal name

email

string

Valid email format

additionalRemark

string

Minimum 6 characters

Example Payload
{
  "type": "BRBANK",
  "taxId": "12345678901",
  "name": "João Silva",
  "email": "[email protected]",
  "additionalRemark": "Own funds"
}

6.2.3. COBANK - Colombian Banks

Bank accounts in Colombia.

Required Fields
Field Type Description

type

string

Must be "COBANK"

taxId

string

9 to 11 digits of taxpayer identification number

fullName

string

Full legal name

email

string

Valid email format

phone

string

11 to 15 digits

Example Payload
{
  "type": "COBANK",
  "taxId": "1234567890",
  "fullName": "Carlos Rodriguez",
  "email": "[email protected]",
  "phone": "573001234567"
}

6.2.4. MALAYSIA_BANK - Malaysian Banks

Required Fields
Field Type Description

type

string

Must be "MALAYSIA_BANK"

account

string

Bank account number (digits only)

destination

object

Bank details

destination.bankCode

string

Bank identifier code

destination.accountName

string

Name on the account

destination.accountNumber

string

Recipient account number

recipient

object

Recipient information

recipient.firstName

string

Recipient’s first name

recipient.lastName

string

Recipient’s last name

recipient.email

string

Recipient’s email

recipient.phone

string

Recipient’s phone number

recipient.zipCode

string

Postal code

recipient.city

string

Recipient’s city

recipient.address

string

Recipient’s street address

recipient.country

string

Lowercase ISO 2-letter country code (e.g., 'my')

Example Payload
{
  "type": "MALAYSIA_BANK",
  "destination": {
    "bankCode": "MBBEMYKL",
    "accountName": "Ahmad Abdullah",
    "accountNumber": "1234567890"
  },
  "recipient": {
    "firstName": "Ahmad",
    "lastName": "Abdullah",
    "email": "[email protected]",
    "phone": "60123456789",
    "zipCode": "50000",
    "city": "Kuala Lumpur",
    "address": "Jalan Sultan Ismail",
    "country": "my"
  },
  "account": "1234567890"
}

6.2.5. INDONESIA_BANK - Indonesian Banks

Required Fields

Same structure as MALAYSIA_BANK with type = "INDONESIA_BANK" and recipient.country = "id".

6.2.6. THAILAND_BANK - Thai Banks

Required Fields

Same structure as MALAYSIA_BANK with type = "THAILAND_BANK" and recipient.country = "th".

6.2.7. SOUTH_KOREA_BANK - South Korean Banks

Required Fields

Same structure as MALAYSIA_BANK with type = "SOUTH_KOREA_BANK" and recipient.country = "kr".

6.3. Mobile Payments

6.3.1. MEGAFON / TMOBILE / BEELINE / MTS / TELE2 / YOTA

Digital wallets and Russian mobile carrier payments.

Required Fields
Field Type Description

type

string

Payment type (e.g., "MEGAFON", "TELE2", …​)

account

string

Russian phone number (11 digits starting with 7 or 8)

Example Payload
{
  "type": "MEGAFON",
  "account": "79001234567"
}

6.3.2. UKR_MOBILE - Ukrainian Mobile Payments

Payments via Ukrainian mobile operators.

Required Fields
Field Type Description

type

string

Must be "UKR_MOBILE"

account

string

Ukrainian phone number (digits only)

Example Payload
{
  "type": "UKR_MOBILE",
  "account": "380501234567"
}

6.4. Fast Payment Systems

6.4.1. SBP - Russian Fast Payment System / "Система Быстрых Платежей"

System for instant payments in Russia.

Required Fields
Field Type Description

type

string

Must be "SBP"

account

string

Russian phone number (digits only)

email

string

Beneficiary’s email

nspk

string

NSPK member bank ID

firstName

string

Beneficiary’s first name

lastName

string

Beneficiary’s last name

Example Payload
{
  "type": "SBP",
  "account": "79001234567",
  "email": "[email protected]",
  "nspk": "100000000004",
  "firstName": "Ivan",
  "lastName": "Petrov"
}

6.4.2. IMPS - Immediate Payment Service (India)

India’s real-time interbank electronic funds transfer system.

Required Fields
Field Type Description

type

string

Must be "IMPS"

account

string

Account number (digits only)

account_name

string

Beneficiary account name

bank_code

string

Indian Financial System Code (IFSC, digits only)

Example Payload
{
  "type": "IMPS",
  "account": "1234567890",
  "account_name": "Raj Kumar",
  "bank_code": "SBIN0001234"
}

6.5. E-Wallets

6.5.1. PAYONEER / PAYONEER_EUR / PAYONEER_USD

International digital payment platform for cross-border transfers.

Required Fields
Field Type Description

type

string

Must be "PAYONEER", "PAYONEER_EUR", or "PAYONEER_USD"

account

string

Beneficiary email address

Example Payload
{
  "type": "PAYONEER_EUR",
  "account": "[email protected]"
}

6.5.2. EUR_NETELLER / EUR_SKRILL

Electronic wallets in euros via Neteller or Skrill.

Required Fields
Field Type Description

type

string

Must be "EUR_NETELLER" or "EUR_SKRILL"

wallet_email

string

Beneficiary email address

name

string

Legal name

surname

string

Legal surname

country

string

ISO country code

city

string

City of residence

address

string

Physical address

zip

string

Postal code

code

string

Verification code

phone

string

Phone number (digits only)

client_ip

string

Client’s IP address

state

string

Required if country is USA or CANADA (ISO ALPHA-2 state code)

Example Payload
{
  "type": "EUR_NETELLER",
  "wallet_email": "[email protected]",
  "name": "John",
  "surname": "Doe",
  "country": "USA",
  "city": "New York",
  "address": "123 Main St",
  "zip": "10001",
  "code": "123456",
  "phone": "12125551234",
  "client_ip": "192.168.1.1",
  "state": "NY"
}

6.5.3. PAYTM

Indian digital payments and mobile wallet platform.

Required Fields
Field Type Description

type

string

Must be "PAYTM"

account

string

Account number (digits only)

Example Payload
{
  "type": "PAYTM",
  "account": "9876543210"
}

6.5.4. GCASH

Digital wallet and mobile payment service (Philippines).

Required Fields
Field Type Description

type

string

Must be "GCASH"

receiver

object

Recipient details

receiver.surName

string

Recipient’s surname

receiver.givName

string

Recipient’s given name

receiver.phone

string

Recipient’s mobile number (digits only)

sender

object

Sender details

sender.purposeOfRemittance

string

Purpose of transaction

account

string

GCash account number

receiveAmount

number

Amount to receive

receiveCurrency

string

Currency code

channelCode

string

Payment channel code

channelName

string

Payment channel name

Example Payload
{
  "type": "GCASH",
  "receiver": {
    "surName": "Dela Cruz",
    "givName": "Juan",
    "phone": "639171234567"
  },
  "sender": {
    "purposeOfRemittance": "FAMILY SUPPORT"
  },
  "account": "639171234567",
  "receiveAmount": 5000.00,
  "receiveCurrency": "PHP",
  "channelCode": "73",
  "channelName": "GCASH"
}

6.5.5. WM

WebMoney payments.

Required Fields
Field Type Description

type

string

Must be "WM"

account

string

WebMoney wallet identifier, alphanumeric

Example Payload
{
  "type": "WM",
  "account": "9876543210"
}

6.5.6. PAGS_CHWALLET

Vita wallet Chile payments.

Required Fields
Field Type Description

type

string

Must be "PAGS_CHWALLET"

account

string

Beneficiary’s email

Example Payload
{
  "type": "PAGS_CHWALLET",
  "account": "[email protected]"
}

6.5.7. PAGS_MXSPEI

Mexican SPEI

Required Fields
Field Type Description

type

string

Must be "PAGS_MXSPEI"

name

string

Beneficiary’s full name

bankCode

string

Bank code

account

string

Account number

accountType

string

One of: clabe, phone, debit

documentId

string

Document ID

documentType

string

One of: RFC, CURP

Example Payload
{
  "type": "PAGS_MXSPEI",
  "name": "John Doe",
  "bankCode": "123",
  "account": "9876543210",
  "accountType": "clabe",
  "documentId": "ABC123456",
  "documentType": "RFC"
}

6.5.8. PAGS_COWALLET

Colombian Nequi, Tpaga

Required Fields
Field Type Description

type

string

Must be "PAGS_COWALLET"

account

string

Account number

channel

string

One of: Nequi, Tpaga

email

string

Email of beneficiary

Example Payload
{
  "type": "PAGS_COWALLET",
  "account": "3001234567",
  "channel": "Nequi",
  "email": "[email protected]"
}

6.5.9. PAGS_COTRAN

Colombian Transfiya

Required Fields
Field Type Description

type

string

Must be "PAGS_COTRAN"

account

string

Account number. Must start with 57 and contain 12–14 digits

name

string

Beneficiary full name

documentNumber

string

CC: 6–10 digits. CE: max 12 chars. PEP: max 15 digits

documentType

string

One of: CC, CE, PEP

Example Payload
{
  "type": "PAGS_COTRAN",
  "account": "5712345678901",
  "name": "Juan Perez",
  "documentNumber": "123456789",
  "documentType": "CC"
}

6.5.10. EPAY_EPAY_E_VN_ZALO

ZaloPay payments.

Required Fields
Field Type Description

type

string

Must be "EPAY_EPAY_E_VN_ZALO"

receiver

object

Receiver info (surName, givName, phone)

sender

object

Sender info (surName, country, address, purposeOfRemittance)

account

string

Receiver account

receiveAmount

string

Amount to be received

receiveCurrency

string

Currency code (e.g., USD)

Example Payload
{
  "type": "EPAY_EPAY_E_VN_ZALO",
  "receiver": {
    "surName": "Tran",
    "givName": "Anh",
    "phone": "0901234567"
  },
  "sender": {
    "surName": "Smith",
    "country": "US",
    "address": "123 Main St",
    "purposeOfRemittance": "Family support"
  },
  "account": "123456789",
  "receiveAmount": "100000",
  "receiveCurrency": "USD"
}

6.5.11. EPAY_EPAY_E_BD_BKASH

bKash payments.

Required Fields
Field Type Description

type

string

Must be "EPAY_EPAY_E_BD_BKASH"

receiver

object

Receiver info (surName, givName, accountNo)

sender

object

Sender info (givName, surName, area, phone, nationality, idType, idNumber, birthday, city, zipCode, country, address, purposeOfRemittance)

account

string

Beneficiary account

receiveAmount

string

Amount to be received

receiveCurrency

string

Currency code (e.g., USD)

Example Payload
{
  "type": "EPAY_EPAY_E_BD_BKASH",
  "receiver": {
    "surName": "Rahman",
    "givName": "Ali",
    "accountNo": "017XXXXXXXX"
  },
  "sender": {
    "givName": "John",
    "surName": "Doe",
    "area": "Dhaka",
    "phone": "8801XXXXXXXX",
    "nationality": "US",
    "idType": "Passport",
    "idNumber": "AB1234567",
    "birthday": "1985-01-01",
    "city": "NYC",
    "zipCode": "10001",
    "country": "USA",
    "address": "123 Main St",
    "purposeOfRemittance": "Family Support"
  },
  "account": "017XXXXXXXX",
  "receiveAmount": "5000",
  "receiveCurrency": "USD"
}

6.6. Cryptocurrency

6.6.1. BITCOIN / ETH / USDCERC20 / USDTERC20 / USDTTRC20

Cryptocurrency payments for Bitcoin, Ethereum, and various stablecoins.

Required Fields
Field Type Description

type

string

Must be "BITCOIN", "ETH", "USDCERC20", "USDTERC20", or "USDTTRC20"

account

string

Wallet address (minimum 26 characters)

Example Payload
{
  "type": "BITCOIN",
  "account": "bc1qxy2kg342rsqtzq2n0yrf2493p83kkfjhx0wlh"
}

NOTE:

  • USDTERC20 - USDT on ERC-20 network (Ethereum)

  • USDTTRC20 - USDT on TRC-20 network (Tron)

  • USDCERC20 - USDC on ERC-20 network (Ethereum)

6.7. STEAM

6.7.1. STEAM RUR ACCOUNTS

Top up Steam account balance in rubles

Required Fields
Field Type Description

account

string

Steam account name, not Steam nickname

ip

string

Ip address

Example Payload
{
  "type": "steamAccountName",
  "ip": "179.195.60.108"
}

6.8. CAPITALIST

6.8.1. CAPITALIST INTERNAL PAYMENTS

Send payment to another system user.

Required Fields
Field Type Description

type

string

Must be "CAPITALIST"

account

string

Beneficiary account ID

Example Payload
{
  "type": "CAPITALIST",
  "account": "U123456789"
}

7. Error Handling

When an error occurs, the API returns a JSON object with an error description.

7.1. Error Response

{
  "error": "Error description message"
}

7.2. HTTP Status Codes

Status Code Description

200

Success - Request processed successfully

400

Bad Request - Invalid parameters or validation error

8. Reference

8.1. Currency

Currency Code Description

RUR

Russian Roubles

USD

U.S. Dollars

EUR

European EURO

USDT

USDT (Erc 20)

USDTt

USDT (Trc 20)

ETH

Ethereum

USDC

USDC (Erc 20)

BTC

Bitcoin

9. Best Practices

9.1. Security

  1. Keep your API secret secure - Never commit it to version control or share it publicly

  2. Validate callback signatures - Always verify the signature of incoming callbacks to ensure they’re from the legitimate service

  3. Use HTTPS - All API calls must use HTTPS protocol

  4. Implement idempotency - Use unique userRequestId for each transaction to prevent duplicates

9.2. Integration Tips

  1. Test with small amounts first - Start with minimal transaction amounts during integration

  2. Implement proper error handling - Handle all possible error responses gracefully

  3. Monitor callback endpoints - Ensure your callback URL is always accessible and responds within timeout limits

  4. Log all transactions - Keep detailed logs of all API requests and responses for debugging

  5. Check payment channel availability - Not all payment channels may be available at all times

9.3. Rate Limiting

If you want to poll transaction statuses more than 20 times per minute, consider integrating callbacks instead. You can create new transactions without any restrictions.

With excessively frequent API calls, the system will automatically throttle your requests.

10. Coding Examples

You can find working integration examples in our public GitHub repository:

11. Support

For technical support and questions about the API integration, please contact support through your personal account.