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

# Monthly proof-of-reserves report (CADOC 5710 prototype)

> Address × asset reserve rows as of 23:59 America/Sao_Paulo on the last calendar day of `month`, for every regulatory-enabled account in the caller workspace. Same row shape as the daily custody report plus `address_type` and `wallet_type`.



## OpenAPI

````yaml /api-reference/platform-api.json get /v2/reports/reserves/monthly
openapi: 3.0.0
info:
  title: Range Platform API
  description: >-
    The Range Platform API for workspace management, counterparties, and
    operational tooling.
  version: 1.7.21
  contact: {}
servers:
  - url: https://api.range.org
    description: Range API Server
security:
  - Authorization: []
  - Authorization: []
tags:
  - name: Address Information
    description: Get information about a crypto address.
  - name: Transfer Enrichments
    description: Attach workspace-scoped notes and categories to transfers.
  - name: Counterparties
    description: Manage external entities, their addresses, bank accounts, and documents.
paths:
  /v2/reports/reserves/monthly:
    get:
      tags:
        - Reports
      summary: Monthly proof-of-reserves report (CADOC 5710 prototype)
      description: >-
        Address × asset reserve rows as of 23:59 America/Sao_Paulo on the last
        calendar day of `month`, for every regulatory-enabled account in the
        caller workspace. Same row shape as the daily custody report plus
        `address_type` and `wallet_type`.
      operationId: getMonthlyReservesReport
      parameters:
        - name: month
          required: true
          in: query
          description: >-
            Base month. Rows reflect the newest snapshot per account at or
            before 23:59 Brasília on the last calendar day of this month.
          schema:
            example: 2026-08
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonthlyReservesReportResponseDto'
components:
  schemas:
    MonthlyReservesReportResponseDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/MonthlyReservesReportItemDto'
      required:
        - items
    MonthlyReservesReportItemDto:
      type: object
      properties:
        account_id:
          type: string
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        client_tax_id:
          type: string
          nullable: true
          example: '52998224725'
        client_tax_id_type:
          type: string
          nullable: true
          example: cpf
          enum:
            - cpf
            - cnpj
        network:
          type: string
          nullable: true
          example: eth
        address:
          type: string
          nullable: true
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
        asset_id:
          type: string
          nullable: true
          example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
          description: >-
            On-chain denom (contract address / mint / IBC denom) of the asset.
            Null when the source reports no denom, and on missing-snapshot rows.
        symbol:
          type: string
          nullable: true
          example: ETH
        asset_name:
          type: string
          nullable: true
          example: Ether
          description: >-
            Human-readable asset name from the balance snapshot; falls back to
            the symbol. Maps to CADOC tickerDescricao.
        quantity:
          type: string
          nullable: true
          example: '25.000000000000000000'
          description: >-
            Exact quantity as a decimal string. Null — not "0" — when no
            snapshot exists for the base date (e.g. the network has no readable
            balance source).
        usd_value:
          type: string
          nullable: true
          example: '61250.00'
        price_source:
          type: string
          nullable: true
          example: coingecko
          description: >-
            Pricing product recorded with the balance line (`coingecko`,
            `alchemy`). Null when the resolver tracks no source for the asset
            (Tron) and on missing-snapshot rows; `coingecko` only when the
            snapshot predates source tracking.
        price_updated_at:
          type: string
          nullable: true
          example: '2026-08-24T02:58:00.000Z'
          description: >-
            When the unit price backing `usd_value` was fetched at its source
            (UTC). Null when the price source reported no timestamp or the
            snapshot predates this field.
        brl_value:
          type: string
          nullable: true
          example: '315376.25'
          description: >-
            usd_value converted at fx_rate, as an exact decimal string. Null
            whenever usd_value is null or no PTAX rate is available.
        fx_rate:
          type: string
          nullable: true
          example: '5.149'
          description: >-
            BCB PTAX USD/BRL closing sell quote (cotacaoVenda) for the base
            date, walking back to the most recent business day over
            weekends/holidays. Null when no rate is available.
        fx_source:
          type: string
          example: bcb-ptax
          description: Declared FX source; constant for every row.
        fx_updated_at:
          type: string
          nullable: true
          example: '2026-08-25T16:04:44.000Z'
          description: >-
            When the PTAX bulletin backing fx_rate was published (UTC). A
            timestamp before the base date means the rate was carried back from
            the last business day.
        custodian_code:
          type: string
          nullable: true
          example: Z1234567
        custodian_country:
          type: string
          nullable: true
          example: BR
        snapshot_at:
          type: string
          nullable: true
          example: '2026-08-24T02:59:00.000Z'
          description: >-
            When the underlying snapshot was taken (UTC). Null when the account
            has no snapshot at or before the base instant.
        address_type:
          type: string
          nullable: true
          example: CUSTODIA_PROPRIA_SEGREGADO
          enum:
            - CUSTODIA_PROPRIA_OMNIBUS
            - CUSTODIA_PROPRIA_SEGREGADO
            - SUBCUSTODIANTE_TERCEIRO
            - CONTRATO_TOKEN
            - CONTRATO_STAKING
            - VALIDADOR
            - DEPOSITO_EXCHANGE
            - NAO_VERIFICAVEL_ONCHAIN
            - '99'
        wallet_type:
          type: string
          nullable: true
          example: FRIA
          enum:
            - QUENTE
            - MORNA
            - FRIA
            - CUSTODIA_TERCEIRO
            - NAO_APLICAVEL
            - '99'
      required:
        - account_id
        - fx_source
  securitySchemes:
    Authorization:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Authorization method required to allow user to access the api endpoints.

````