Skip to main content
GET
/
api
/
v1
/
merchant
/
tokens
/
search
List supported tokens with pagination and filters
curl --request GET \
  --url https://api-beta.pepay.io/api/v1/merchant/tokens/search \
  --header 'Authorization: Bearer <token>'
{
  "acceptance_policy": "accept_all",
  "environment": "mainnet",
  "total": 123,
  "limit": 123,
  "offset": 123,
  "tokens": [
    {
      "id": 123,
      "token_symbol": "<string>",
      "token_name": "<string>",
      "token_address": "<string>",
      "token_decimals": 123,
      "network": "<string>",
      "network_environment": "<string>",
      "token_type": "<string>",
      "requires_memo": true,
      "photo_uri": "<string>",
      "supports_subscriptions": true,
      "supports_stable_settlement": true,
      "is_active": true,
      "is_monitored": true,
      "is_blocked": true,
      "price": {
        "usd": 123,
        "last_updated_at": 123,
        "provider_type": "<string>"
      }
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs-alpha.pepay.io/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Use this endpoint to search and paginate large token catalogs. It returns the same token objects as the list endpoint, plus pagination metadata.

Authentication

  • Merchant auth: x-api-key: pk_... (scope=merchant) or Authorization: Bearer <jwt>

Request

SDK

const tokens = await pepay.tokens.searchMerchantTokens({
  environment: 'mainnet',
  search: 'usdc',
  network: 'base',
  token_type: 'erc20',
  limit: 25,
  offset: 0
});

cURL

curl "https://api-beta.pepay.io/api/v1/merchant/tokens/search?environment=mainnet&search=usdc&network=base&limit=25" \
  -H "x-api-key: pk_..."

Response

{
  "acceptance_policy": "selective",
  "environment": "mainnet",
  "total": 2,
  "limit": 25,
  "offset": 0,
  "tokens": [
    {
      "id": 123,
      "token_symbol": "USDC",
      "token_name": "USD Coin",
      "network": "base",
      "network_environment": "mainnet",
      "photo_uri": "https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png",
      "is_blocked": false
    }
  ]
}

Errors

  • 401 missing/invalid merchant auth
  • 400 invalid filters (unsupported network, token_type, or limit)

Examples

  • Query all Base-network stablecoins:
curl "https://api-beta.pepay.io/api/v1/merchant/tokens/search?environment=mainnet&network=base&search=usd&limit=50" \
  -H "x-api-key: pk_..."
Next: Mint a WebSocket token

Authorizations

Authorization
string
header
required

JWT token for wallet authentication

Query Parameters

environment
enum<string>

Filter tokens by environment (defaults to the merchant environment).

Available options:
mainnet,
devnet
limit
integer
default:50

Max number of tokens to return.

Required range: 1 <= x <= 200
offset
integer
default:0

Offset for pagination.

Required range: x >= 0

Search by token symbol, name, or address (case-insensitive).

network
enum<string>

Filter by network.

Available options:
ethereum,
base,
solana,
avalanche,
ton,
bsc,
arbitrum,
optimism,
cardano,
sui
token_type
enum<string>

Filter by token type.

Available options:
native,
erc20,
spl,
sui,
ton
is_active
boolean

Filter by active status.

supports_stable_settlement
boolean

Filter by stable settlement capability.

blocked
boolean

Filter by blocked status (selective policy only).

Response

Paginated token list

acceptance_policy
enum<string>
Available options:
accept_all,
accept_none,
selective
environment
enum<string>
Available options:
mainnet,
devnet
total
integer
limit
integer
offset
integer
tokens
object[]