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

# Your accounts

> Each account you hold with Rampa, with its `balances` (one per currency it holds; one today) as of `as_of`: your USDT wallet (`crypto`) and your BOB payout capacity (`fiat`), what you can pay out right now, net of payments in flight. The BOB account appears once a payout balance is set up for you. `available` is what you can spend; `reserved` is held by payments that have not finished (null where not tracked). Check it before quoting a large payment to avoid `INSUFFICIENT_FUNDS`.

`funding_instructions` says how to top an account up. A `crypto` account has one per wallet, and each wallet is on one `network`, named as a CAIP-2 id (`tron:0x2b6653dc` is Tron mainnet). Send **only** a token listed in its `supported_assets`, on that network, to its `address`: each asset's `caip19` names the network and the token contract (`…/trc20:<contract>`), and `decimals` its precision. Each transfer is credited automatically once it confirms and shows up in [the account's transactions](/api-reference/accounts/list-transactions). The address is created on your first read; if `funding_instructions` is empty, read again a moment later. A `fiat` account's is always empty: Rampa funds it.

> [!TIP]
>
> **Try it:** enter any key that starts with `rpk_mock_`, e.g. `rpk_mock_yourname`. It answers from the [example server](https://docs.rampapay.com/api-reference/introduction.md#try-it) with sample data — nothing real moves. Never enter your real key.

## Errors

Only the ones any endpoint can answer: `401 AUTHENTICATION_FAILED`, `403 SCOPE_REQUIRED` and the 503s in [Errors](https://docs.rampapay.com/errors.md).


## OpenAPI

````yaml api-reference/openapi.json GET /accounts
openapi: 3.0.3
info:
  title: Rampa Pay API
  version: 1.0.0
  description: >-
    Hold a USDT balance at Rampa and pay any QR in Bolivia in bolivianos.
    Amounts are decimal strings.
servers:
  - url: https://examples.staging.rampapay.com/v1
    description: 'Example server: sample answers, nothing real moves'
security:
  - apiKey: []
tags:
  - name: Accounts
    description: Every balance you hold with Rampa, how to top it up, and what moved it.
  - name: Wallet
    description: Test USDT for your crypto account in the sandbox.
  - name: Payouts
    description: >-
      Quote a BOB amount in USDT; once your end user accepts, pay it out at that
      quote from your USDT wallet — to a merchant QR today, to a bank account
      soon.
  - name: Webhooks
    description: Where we send events. Each endpoint gets its own signing secret.
paths:
  /accounts:
    get:
      tags:
        - Accounts
      summary: Your accounts
      description: >-
        Each account you hold with Rampa, with its `balances` (one per currency
        it holds; one today) as of `as_of`: your USDT wallet (`crypto`) and your
        BOB payout capacity (`fiat`), what you can pay out right now, net of
        payments in flight. The BOB account appears once a payout balance is set
        up for you. `available` is what you can spend; `reserved` is held by
        payments that have not finished (null where not tracked). Check it
        before quoting a large payment to avoid `INSUFFICIENT_FUNDS`.


        `funding_instructions` says how to top an account up. A `crypto` account
        has one per wallet, and each wallet is on one `network`, named as a
        CAIP-2 id (`tron:0x2b6653dc` is Tron mainnet). Send **only** a token
        listed in its `supported_assets`, on that network, to its `address`:
        each asset's `caip19` names the network and the token contract
        (`…/trc20:<contract>`), and `decimals` its precision. Each transfer is
        credited automatically once it confirms and shows up in [the account's
        transactions](/api-reference/accounts/list-transactions). The address is
        created on your first read; if `funding_instructions` is empty, read
        again a moment later. A `fiat` account's is always empty: Rampa funds
        it.
      operationId: list-accounts
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                        balances:
                          type: array
                          items:
                            type: object
                            properties:
                              currency:
                                type: string
                              available:
                                type: string
                              reserved:
                                type: string
                                nullable: true
                        funding_instructions:
                          type: array
                          items:
                            type: object
                            properties:
                              network:
                                type: string
                              address:
                                type: string
                              supported_assets:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    currency:
                                      type: string
                                    decimals:
                                      type: integer
                                    caip19:
                                      type: string
                        as_of:
                          type: string
              example:
                data:
                  - id: acc_7Hq2Lx9TbR4mW1cZ8kP3sN6v
                    type: crypto
                    balances:
                      - currency: USDT
                        available: '897.960000'
                        reserved: '0.000000'
                    funding_instructions:
                      - network: tron:0x2b6653dc
                        address: TWd4WrZ9wn84f5x1hZhL4DHvk738ns5jwb
                        supported_assets:
                          - currency: USDT
                            decimals: 6
                            caip19: >-
                              tron:0x2b6653dc/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
                    as_of: '2026-09-27T14:06:40.000Z'
                  - id: acc_Qm4Vb8Xc2Nz6Lk1Jh5Gf9Ds3
                    type: fiat
                    balances:
                      - currency: BOB
                        available: '12500.00'
                        reserved: null
                    funding_instructions: []
                    as_of: '2026-09-27T14:06:40.000Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    Unauthorized:
      description: >-
        `AUTHENTICATION_FAILED` — the key is missing, unknown, revoked or
        expired, or the tenant is suspended.
      content:
        application/json:
          example:
            error:
              code: AUTHENTICATION_FAILED
              message: AUTHENTICATION_FAILED
              request_id: req_7KxQ2mVb9TfL4wHs8nRe3jDa
    Forbidden:
      description: '`SCOPE_REQUIRED` — your key is not enabled for this endpoint. Ask Rampa.'
      content:
        application/json:
          example:
            error:
              code: SCOPE_REQUIRED
              message: SCOPE_REQUIRED
              request_id: req_7KxQ2mVb9TfL4wHs8nRe3jDa
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        On the example server, any key that starts with `rpk_mock_`, e.g.
        `rpk_mock_yourname`. Never your real key.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.