Getting Started

The Pay.io Payment Gateway API enables merchants to build a full cashier solution directly into your websites or applications. With a single integration, you can:

  • Trigger deposits and withdrawals

  • Show real-time balances and transaction history

  • Access multiple crypto payment providers through native MESH integration

While business owners manage their accounts and configurations in the Merchant Console, the Payment Gateway API is what powers the end-user cashier experience.


Prerequisites

Before you start making API calls, you'll need to:

  • Onboard as a merchant with Pay.io - our team will configure your account, including enabling key currencies, according to your needs.

  • Obtain your API key - Found in the Merchant Console or provided by our support team.

  • Generate RSA key pair - You’ll provide Pay.io your public key during setup (see Authorisation for details).

  • Set up request signing — Each API call requires a nonce and RSA-SHA256 signature.


Pay.io APIs Overview

Merchant API

Used by your backend to configure cashier options:

  • Currencies API - Used to retrieve the list of enabled currencies for you.

  • Transactions API - Access transaction history across users and retry payouts requiring approval.

User Payment API

Used to serve your end-users inside the cashier through our payment gateway experience:


Making Your First API Call: List Currencies

Once your merchant account is onboarded, your first step is to list which currencies are available for your cashier to set up the Payment Gateway.

Request

curl --location 'https://pgw.stage.pay.io/v1/merchant/currencies' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'X-API-Nonce: YOUR_UUID_NONCE' \
--header 'X-API-Signature: SIGNATURE'

Response (example)

{
  "currencies": [
    {
      "id": "1270e0a2-593b-5272-8c0e-90ba5552d921",
      "name": "SOL",
      "currency_code": "SOL",
      "symbol": "◎",
      "network": "Solana",
      "currency_icon": "https://cdn.hub88.io/hub-wallet/SOL-ic.svg"
    },
    {
      "id": "990cd2f7-b169-5665-b0e1-05cc46ae4209",
      "name": "USDC",
      "currency_code": "USDC",
      "symbol": "$",
      "network": "Base Chain"
    }
  ]
}

Next Steps For Payment Gateway

Once you have your supported currencies, you can:

  • Request a deposit address for a user (POST /v1/user/deposit/address)

  • Initiate a withdrawal (POST /v1/user/withdraw)

  • Fetch transactions for a user (POST /v1/user/transactions) or across your merchant (POST /v1/merchant/transactions)

See the Authorisation for details on how to sign and authenticate your requests.

Last updated