Skip to content

API Endpoints

Base URL

https://api.pinkwallet.xyz/blockchain/pinkwallet

1. Get Supported Assets and Networks

GET /api/payment/supported-assets

Returns the currently supported payment assets and their available blockchain networks.

Request Parameters

None.

Response Example

json
{
  "USDT": ["BNB Smart Chain(BEP20)", "Ethereum (ERC 20)", "Tron (TRC20)"],
  "USDC": ["Solana", "Ethereum (ERC 20)"]
}

Response Fields

FieldTypeDescription
{symbol}string[]List of supported blockchain networks for the given asset symbol

2. Create Payment Order

POST /api/payment/create

Creates a payment order for your merchant account. The system allocates an on-chain payment address from the deposit address pool.

Request Body (JSON)

FieldTypeRequiredDescription
merchantIdnumberYesMerchant ID
externalOrderIdstringNoCustom merchant order ID. If omitted, the system generates a 32-character order ID
assetstringYesPayment asset: USDT or USDC
chainstringYesBlockchain network. You can fetch valid values from /api/payment/supported-assets
amountnumberYesPayment amount
callbackUrlstringNoWebhook callback URL for payment result notifications

Request Example

json
{
  "merchantId": 3,
  "externalOrderId": "ORD_20260313_001",
  "asset": "USDT",
  "chain": "Solana",
  "amount": 5,
  "callbackUrl": "https://your-server.com/webhook/payment"
}

Response Example

json
{
  "link_token": "81663115hE4b11PVzY",
  "external_order_id": "ORD_20260313_001",
  "amount": "5",
  "asset": "USDT",
  "chain": "Solana",
  "expires_at": "2026-03-13T06:31:15.000Z",
  "pay_address": "B27iWjQYNhE1ZN4PX3T2gAsPc5HSgeNoYBacZ78UVLS3",
  "memo": ""
}

Response Fields

FieldTypeDescription
link_tokenstringOrder access token used for payment page URL and order status lookup
external_order_idstringMerchant order ID
amountstringPayment amount
assetstringPayment asset
chainstringBlockchain network
expires_atstringOrder expiration time in ISO 8601 format. Default validity is 30 minutes
pay_addressstringOn-chain deposit address that the user should transfer funds to
memostringMemo/tag value required by some chains (for example, EOS). Empty string if not needed

Payment Page URL: https://pay.pinkwallet.xyz/{link_token}


3. Query Order Status

GET /api/payment/{linkToken}

Retrieves the current order status by link_token. The payment frontend should poll this endpoint every 2-5 seconds.

Path Parameters

ParameterTypeDescription
linkTokenstringThe link_token returned when the order was created

Response Example

json
{
  "link_token": "81663115hE4b11PVzY",
  "status": "pending",
  "amount": "5",
  "asset": "USDT",
  "chain": "Solana",
  "pay_address": "B27iWjQYNhE1ZN4PX3T2gAsPc5HSgeNoYBacZ78UVLS3",
  "expires_at": "2026-03-13T06:31:15.000Z",
  "paid_at": null,
  "tx_hash": null
}

Response Fields

FieldTypeDescription
link_tokenstringOrder access token
statusstringOrder status. See status table below
amountstringPayment amount
assetstringPayment asset
chainstringBlockchain network
pay_addressstring | nullDeposit address. Returns null if the order fails
expires_atstringExpiration time in ISO 8601 format
paid_atstring | nullPayment completion time in ISO 8601 format. null if unpaid
tx_hashstring | nullOn-chain transaction hash. null if unpaid

Order Status Values

StatusDescription
pendingWaiting for payment
paidPayment completed
expiredPayment expired
failedPayment failed