> ## Documentation Index
> Fetch the complete documentation index at: https://cobo.com/payments/llms.txt
> Use this file to discover all available pages before exploring further.

# List payers

> This operation retrieves the information of all payers. You can filter the result by merchant ID and payer_id.

<Note>The `transactions` field in the response returns up to the latest 200 transactions only. This field will be removed in a future version. To paginate through payer transactions, use [List payer transactions](https://www.cobo.com/payments/en/guides/overview).</Note>


<RequestExample>
  ```python Python theme={null}
  import cobo_waas2
  from cobo_waas2.models.list_top_up_payers200_response import ListTopUpPayers200Response
  from cobo_waas2.rest import ApiException
  from pprint import pprint

  # See configuration.py for a list of all supported configurations.
  configuration = cobo_waas2.Configuration(
      # Replace `<YOUR_PRIVATE_KEY>` with your private key
      api_private_key="<YOUR_PRIVATE_KEY>",
      # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
      host="https://api.dev.cobo.com/v2",
  )
  # Enter a context with an instance of the API client
  with cobo_waas2.ApiClient(configuration) as api_client:
      # Create an instance of the API class
      api_instance = cobo_waas2.PaymentApi(api_client)
      limit = 10
      before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
      after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"
      merchant_id = "M1001"
      payer_id = "P20250619T0310056d7aa"

      try:
          # List payers
          api_response = api_instance.list_top_up_payers(
              limit=limit,
              before=before,
              after=after,
              merchant_id=merchant_id,
              payer_id=payer_id,
          )
          print("The response of PaymentApi->list_top_up_payers:\n")
          pprint(api_response)
      except Exception as e:
          print("Exception when calling PaymentApi->list_top_up_payers: %s\n" % e)

  ```

  ```java Java theme={null}
  // Import classes:
  import com.cobo.waas2.ApiClient;
  import com.cobo.waas2.ApiException;
  import com.cobo.waas2.Configuration;
  import com.cobo.waas2.Env;
  import com.cobo.waas2.api.PaymentApi;
  import com.cobo.waas2.model.*;

  public class Example {
    public static void main(String[] args) {
      ApiClient defaultClient = Configuration.getDefaultApiClient();
      // Select the development environment. To use the production environment, replace `Env.DEV` with
      // `Env.PROD
      defaultClient.setEnv(Env.DEV);

      // Replace `<YOUR_PRIVATE_KEY>` with your private key
      defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
      PaymentApi apiInstance = new PaymentApi();
      Integer limit = 10;
      String before = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1";
      String after = "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk";
      String merchantId = "M1001";
      String payerId = "P20250619T0310056d7aa";
      try {
        ListTopUpPayers200Response result =
            apiInstance.listTopUpPayers(limit, before, after, merchantId, payerId);
        System.out.println(result);
      } catch (ApiException e) {
        System.err.println("Exception when calling PaymentApi#listTopUpPayers");
        System.err.println("Status code: " + e.getCode());
        System.err.println("Reason: " + e.getResponseBody());
        System.err.println("Response headers: " + e.getResponseHeaders());
        e.printStackTrace();
      }
    }
  }

  ```

  ```go Go theme={null}
  package main

  import (
  	"context"
  	"fmt"
  	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
  	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
  	"os"
  )

  func main() {
  	limit := int32(10)
  	before := "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1"
  	after := "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk"
  	merchantId := "M1001"
  	payerId := "P20250619T0310056d7aa"

  	configuration := coboWaas2.NewConfiguration()
  	// Initialize the API client
  	apiClient := coboWaas2.NewAPIClient(configuration)
  	ctx := context.Background()

  	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
  	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
  	// Replace `<YOUR_PRIVATE_KEY>` with your private key
  	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
  		Secret: "<YOUR_PRIVATE_KEY>",
  	})
  	resp, r, err := apiClient.PaymentAPI.ListTopUpPayers(ctx).
  		Limit(limit).
  		Before(before).
  		After(after).
  		MerchantId(merchantId).
  		PayerId(payerId).
  		Execute()
  	if err != nil {
  		fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.ListTopUpPayers``: %v\n", err)
  		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
  	}
  	// response from `ListTopUpPayers`: ListTopUpPayers200Response
  	fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.ListTopUpPayers`: %v\n", resp)
  }

  ```

  ```javascript JavaScript theme={null}
  const CoboWaas2 = require("@cobo/cobo-waas2");
  // Initialize the API client
  const apiClient = CoboWaas2.ApiClient.instance;
  // Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
  apiClient.setEnv(CoboWaas2.Env.DEV);
  // Replace `<YOUR_PRIVATE_KEY>` with your private key
  apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
  // Call the API
  const apiInstance = new CoboWaas2.PaymentApi();
  const opts = {
    limit: 10,
    before: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1",
    after: "RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk",
    merchant_id: "M1001",
    payer_id: "P20250619T0310056d7aa",
  };
  apiInstance.listTopUpPayers(opts).then(
    (data) => {
      console.log("API called successfully. Returned data: " + data);
    },
    (error) => {
      console.error(error);
    },
  );

  ```
</RequestExample>


## OpenAPI

````yaml get /payments/topup/payers
openapi: 3.0.3
info:
  title: Cobo Wallet as a Service 2.0
  description: >
    The Cobo Wallet-as-a-Service (WaaS) 2.0 API is the latest version of Cobo's
    WaaS API offering. It enables you to access Cobo's full suite of crypto
    wallet technologies with powerful and flexible access controls. By
    encapsulating complex security protocols and streamlining blockchain
    interactions, this API allows you to concentrate on your core business
    activities without worrying about the safety of your assets. The WaaS 2.0
    API presents the following key features:


    - A unified API for Cobo's [all four wallet
    types](https://manuals.cobo.com/en/portal/introduction#an-all-in-one-wallet-platform)

    - Support for 80+ chains and 3000+ tokens

    - A comprehensive selection of webhook events

    - Flexible usage models for MPC Wallets, including [Organization-Controlled
    Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/ocw/introduction)
    and [User-Controlled
    Wallets](https://manuals.cobo.com/en/portal/mpc-wallets/ucw/introduction)

    - Programmatic control of smart contract wallets such as Safe{Wallet} with
    fine-grained access controls

    - Seamlessly transfer funds across multiple exchanges, including Binance,
    OKX, Bybit, Deribit, and more


    For more information about the WaaS 2.0 API, see [Introduction to WaaS
    2.0](https://www.cobo.com/developers/v2/guides/overview/introduction).
  termsOfService: https://cobo.com/waas/tos/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    name: Cobo WaaS
    url: https://www.cobo.com/waas
    email: help@cobo.com
  version: 1.0.0
servers:
  - url: https://api.dev.cobo.com/v2
    description: Development environment
  - url: https://api.cobo.com/v2
    description: Production environment
security:
  - CoboAuth: []
tags:
  - name: Organizations
    description: Operations related to Organizations.
  - name: Wallets
    description: Operations related to all wallets.
  - name: Wallets - MPC Wallets
    description: Operations related to mpc wallet.
  - name: Wallets - Exchange Wallet
    description: Operations related to exchange wallet.
  - name: Wallets - Smart Contract Wallets
    description: Operations related to smart contract wallet.
  - name: Transactions
    description: Operations related to all transactions.
  - name: Developers - Webhooks
    description: Operations related to webhooks.
  - name: Stakings
    description: Operations related to staking.
  - name: OAuth
    description: Operations related to OAuth.
  - name: Developers
    description: Operations related to developers.
  - name: AddressBooks
    description: Operations related to address books.
  - name: TravelRule
    description: Operations related to travel rule.
  - name: GraphQL
    description: Operations related to executing GraphQL queries and mutations.
  - name: PrimeBroker
    description: Operations related to prime broker.
  - name: AppWorkflows
    description: Operations related to app workflow.
  - name: FeeStation
    description: Operations related to fee station.
  - name: Payment
    description: Operations related to payment.
  - name: Batch Payouts
    description: Operations related to batch payouts.
  - name: Tokenization
    description: Operations related to tokenization.
  - name: AutoSweep
    description: Operations related to auto sweep.
  - name: Compliance
    description: Operations related to compliance.
paths:
  /payments/topup/payers:
    get:
      tags:
        - Payment
      summary: List payers
      description: >
        This operation retrieves the information of all payers. You can filter
        the result by merchant ID and payer_id.


        <Note>The `transactions` field in the response returns up to the latest
        200 transactions only. This field will be removed in a future version.
        To paginate through payer transactions, use [List payer
        transactions](https://www.cobo.com/payments/en/guides/overview).</Note>
      operationId: list_top_up_payers
      parameters:
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/beforeParam'
        - $ref: '#/components/parameters/afterParam'
        - $ref: '#/components/parameters/MerchantIdOptionalParam'
        - $ref: '#/components/parameters/PayerIdOptionalParam'
      responses:
        '200':
          $ref: '#/components/responses/listPaymentPayersResponse'
        4XX:
          $ref: '#/components/responses/badRequestError'
        5XX:
          $ref: '#/components/responses/internalServerError'
      security:
        - CoboAuth: []
        - OAuth2:
            - payment_orders_payin.read
components:
  parameters:
    limitParam:
      name: limit
      in: query
      description: >-
        The maximum number of objects to return. For most operations, the value
        range is [1, 50].
      required: false
      schema:
        type: integer
        format: int32
        default: 10
      example: 10
    beforeParam:
      name: before
      in: query
      description: >
        A cursor indicating the position before the current page. This value is
        generated by Cobo and returned in the response. If you are paginating
        forward from the beginning, you do not need to provide it on the first
        request. When paginating backward (to the previous page), you should
        pass the before value returned from the last response.
      required: false
      schema:
        type: string
      example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1
    afterParam:
      name: after
      in: query
      description: >
        A cursor indicating the position after the current page. This value is
        generated by Cobo and returned in the response. You do not need to
        provide it on the first request. When paginating forward (to the next
        page), you should pass the after value returned from the last response.
      required: false
      schema:
        type: string
      example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk
    MerchantIdOptionalParam:
      name: merchant_id
      in: query
      required: false
      description: The merchant ID.
      schema:
        type: string
      example: M1001
    PayerIdOptionalParam:
      name: payer_id
      in: query
      required: false
      description: >-
        A unique identifier assigned by Cobo to track and identify individual
        payers.
      schema:
        type: string
      example: P20250619T0310056d7aa
  responses:
    listPaymentPayersResponse:
      description: The request was successful.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  type: object
                  required:
                    - merchant_id
                    - payer_id
                    - developer_fee_rate
                  properties:
                    merchant_id:
                      type: string
                      description: The merchant ID.
                      example: M1001
                    payer_id:
                      type: string
                      description: >-
                        A unique identifier assigned by Cobo to track and
                        identify individual payers.
                      example: P20250619T0310056d7aa
                    custom_payer_id:
                      type: string
                      description: >
                        Unique user identifier on the merchant side, used to
                        assign a dedicated deposit address.
                      example: user_abc_10001
                    developer_fee_rate:
                      type: string
                      description: >-
                        The developer fee rate applied to top-up transactions
                        made by this payer. Expressed as a decimal string where
                        "0.1" represents 10%.
                      example: '0.01'
                    created_timestamp:
                      type: integer
                      description: >-
                        The creation time of the payer, represented as a UNIX
                        timestamp in seconds.
                      example: 1744689600
                    updated_timestamp:
                      type: integer
                      description: >-
                        The last update time of the payer, represented as a UNIX
                        timestamp in seconds.
                      example: 1744693200
                    transactions:
                      type: array
                      description: >
                        An array of transactions associated with this payer.


                        <Note>This field returns up to the latest 200
                        transactions only and will be removed in a future
                        version. Use the dedicated payer transactions API to
                        paginate through transactions.</Note>
                      items:
                        $ref: '#/components/schemas/PaymentTransaction'
              pagination:
                $ref: '#/components/schemas/Pagination'
    badRequestError:
      description: >-
        Bad request. Your request contains malformed syntax or invalid
        parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    internalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    PaymentTransaction:
      type: object
      required:
        - tx_id
        - from_address
        - to_address
        - amount
        - status
        - created_timestamp
        - updated_timestamp
      properties:
        tx_id:
          type: string
          description: The transaction ID.
          example: tx_123e4567-e89b-12d3-a456-426614174003
        tx_hash:
          type: string
          description: The transaction hash.
          example: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
        token_id:
          type: string
          description: The ID of the cryptocurrency.
          example: ETH_USDT
        from_address:
          type: string
          description: The source address of the transaction.
          example: '0xF8e4bfc10A2821DF52D3322cB5170E5E9276b537'
        to_address:
          type: string
          description: The destination address of the transaction.
          example: '0x15B95A2D8af95D9F48148667B6b8B3CdF89e4F15'
        amount:
          type: string
          description: The amount of cryptocurrency transferred, as a decimal string.
          example: '0.15'
        status:
          $ref: '#/components/schemas/TransactionStatus'
        counterparty:
          $ref: '#/components/schemas/Counterparty'
        destination:
          $ref: '#/components/schemas/Destination'
        created_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the transaction was created, in Unix timestamp format,
            measured in milliseconds.
          example: 1610445878970
        updated_timestamp:
          type: integer
          format: int64
          description: >-
            The time when the transaction was updated, in Unix timestamp format,
            measured in milliseconds.
          example: 1610445878970
    Pagination:
      type: object
      description: The pagination information of the returned data.
      required:
        - before
        - after
        - total_count
      properties:
        before:
          type: string
          example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGmk1
          description: >
            An object ID used to retrieve records before the specified object,
            indicating earlier or smaller records relative to the current
            dataset. You can use it to paginate backwards. 


            If empty, it means you have reached the start of the data.  


            Most API endpoints sort by object ID, but some use other fields
            depending on the endpoint.
        after:
          type: string
          example: RqeEoTkgKG5rpzqYzg2Hd3szmPoj2cE7w5jWwShz3C1vyGSAk
          description: >
            An object ID used to retrieve records after the specified object,
            indicating newer or larger records relative to the current dataset.
            You can use it to paginate forwards.  


            If empty, it means you have reached the end of the data.  


            Most API endpoints sort by object ID, but some use other fields
            depending on the endpoint.
        total_count:
          type: integer
          example: 10000
          description: >-
            The total number of records that match the query criteria,
            unaffected by the pagination parameters (`before` , `after`, and
            `limit`).
    ErrorResponse:
      type: object
      description: The response of a failed request.
      required:
        - error_code
        - error_message
        - error_id
      properties:
        error_code:
          type: integer
          description: >-
            The error code. Refer to [Error codes and status
            codes](https://www.cobo.com/developers/v2/api-references/error-codes)
            for more details.
        error_message:
          type: string
          description: The error description.
        error_id:
          type: string
          description: >-
            The error log ID. You can provide the error ID when submitting a
            ticket to help Cobo to locate the issue.
          example: 0b6ddf19083c4bd1a9ca01bec44b24dd
    TransactionStatus:
      type: string
      enum:
        - Submitted
        - PendingScreening
        - PendingAuthorization
        - PendingSignature
        - Broadcasting
        - Confirming
        - Completed
        - Failed
        - Rejected
        - Pending
      example: Submitted
      description: >
        The transaction status. For more details including sub-statuses, please
        refer to [Transaction statuses and
        sub-statuses](https://www.cobo.com/developers/v2/guides/transactions/status).


        <Info>The `PendingAuthorization` status covers both manual approval
        steps and internal automated risk-control, KYT, and compliance screening
        checks. A transaction in this status does not necessarily require a
        human to take action.</Info>
    Counterparty:
      type: object
      required:
        - counterparty_type
        - counterparty_name
        - created_timestamp
        - updated_timestamp
      properties:
        counterparty_id:
          type: string
          format: uuid
          description: The counterparty ID.
          example: 123e4567-e89b-12d3-a456-426614174003
        counterparty_type:
          $ref: '#/components/schemas/CounterpartyType'
        counterparty_name:
          type: string
          description: The counterparty name.
          example: Counterparty A
        country:
          type: string
          description: The country of the counterparty, in ISO 3166-1 alpha-3 format.
          example: USA
        email:
          type: string
          description: The email of the counterparty.
          example: counterparty@example.com
        contact_address:
          type: string
          description: The contact address of the counterparty.
          example: 123 Main St, Anytown, USA
        created_timestamp:
          type: integer
          description: >-
            The created time of the counterparty, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the counterparty, represented as a UNIX
            timestamp in seconds.
          example: 1744689600
    Destination:
      type: object
      required:
        - destination_type
        - destination_name
        - created_timestamp
        - updated_timestamp
      properties:
        destination_id:
          type: string
          format: uuid
          description: The destination ID.
          example: 123e4567-e89b-12d3-a456-426614174003
        destination_type:
          $ref: '#/components/schemas/DestinationType'
        destination_name:
          type: string
          description: The destination name.
          example: Destination A
        country:
          type: string
          description: The country of the destination, in ISO 3166-1 alpha-3 format.
          example: USA
        email:
          type: string
          description: The email of the destination.
          example: destination@example.com
        contact_address:
          type: string
          description: The contact address of the destination.
          example: 123 Main St, Anytown, USA
        merchant_id:
          type: string
          description: The ID of the merchant linked to the destination.
          example: M1001
        created_timestamp:
          type: integer
          description: >-
            The created time of the destination, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
        updated_timestamp:
          type: integer
          description: >-
            The updated time of the destination, represented as a UNIX timestamp
            in seconds.
          example: 1744689600
    CounterpartyType:
      type: string
      enum:
        - Individual
        - Organization
      example: Individual
      description: |
        The type of the counterparty:
        - `Individual`: The counterparty is an individual.
        - `Organization`: The counterparty is an organization.
    DestinationType:
      type: string
      enum:
        - Individual
        - Organization
      example: Individual
      description: |
        The type of the destination.
        - `Individual`: The destination is an individual.
        - `Organization`: The destination is an organization.
  securitySchemes:
    CoboAuth:
      type: apiKey
      in: header
      name: BIZ-API-KEY
      description: >
        The API key. For more details, refer to [API
        key](https://www.cobo.com/developers/v2/guides/overview/cobo-auth#api-key).


        In the API playground, enter your [API
        secret](https://www.cobo.com/developers/v2/guides/overview/cobo-auth#api-secret),
        and your API key will be accordingly calculated.
    OAuth2:
      type: oauth2
      description: >-
        The [Org Access
        Token](https://www.cobo.com/developers/v2/apps/org-access-tokens). Use
        this authorization method only if you are developing Cobo Portal Apps
        for installation and use across different organizations.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.cobo.com/authorize
          tokenUrl: https://auth.cobo.com/oauth/token
          scopes:
            address_book.read: Read address book
            api_key.read: Read API key information
            callback.read: Read callback message
            callback.resend: Resend callback message
            wallet.create: Create wallet
            wallet.read: Read wallet information
            wallet.update: Update wallet information
            wallet.delete: Delete wallet information
            wallet.create_address: Create wallet address
            wallet.manage_utxo: Manage UTXO
            mpc_project.create: Create MPC project
            mpc_project.read: Read MPC project information
            mpc_project.update: Update MPC project information
            mpc_vault.create: Create MPC Vault
            mpc_vault.read: Read MPC Vault information
            mpc_vault.update: Update MPC Vault information
            mpc_key_group.create: Create MPC key group
            mpc_key_group.read: Read MPC key group information
            mpc_key_group.update: Update MPC key group information
            mpc_key_group.delete: Delete MPC key group information
            transaction.read: Read transaction information
            transaction.withdraw: Make withdrawals
            transaction.estimate_fee: Estimate transaction fee
            transaction.contract_call: Initiate contract calls
            transaction.message_sign: Initiate message signings
            transaction.stake: Stake assets
            transaction.unstake: Unstake assets
            transaction.unstake_withdraw: Withdraw unstaked assets
            transaction.manage: Manage ongoing transactions
            transaction.update: Update transaction notes
            travel_rule.read: Read travel rule information
            travel_rule.edit: Edit travel rule information
            webhook.read: Read webhook URLs/events
            webhook.edit: Edit webhook URLs
            webhook.resend: Resend webhook events
            payment_orders_payin.create: Create pay-in order
            payment_orders_payin.read: Read pay-in order information
            payment_orders_payin.update: Update pay-in order
            payment_orders_refund.create: Create payment refund order
            payment_orders_refund.read: Read payment refund order information
            payment_settlement.create: Create payment settlement request
            payment_settlement.read: Read payment settlement request information
            payment_merchant.create: Create payment merchant
            payment_merchant.read: Read payment merchant information
            payment_merchant.update: Update payment merchant
            payment_forced_sweep.create: Create payment force sweep request
            payment_forced_sweep.read: Read payment force sweep request information
            compliance_funds.refund: Refund compliance funds request
            compliance_funds.isolate: Isolate compliance funds request
            compliance_funds.unfreeze: Unfreeze compliance funds request
            compliance_funds.read: Read compliance funds request information
            compliance_kyt_review.update: Update KYT review status
            compliance_kyt_decisions.update: Update KYT decision status
            compliance_kyt_status.read: Read KYT screening status
            compliance_kya_screenings.create: Create KYA address screening requests
            compliance_kya_screenings.read: Read KYA address screening results

````