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

# List on-chain records

> Draft: specification in progress. Endpoints and fields may change.

On-chain audit trail, filterable by type, network and period.
Scope: `read`.


<Warning>Draft: specification in progress. Endpoints and fields may change.</Warning>


## OpenAPI

````yaml /en/api/openapi.yaml get /registros
openapi: 3.1.0
info:
  title: TESA API
  version: 0.1.0-rascunho
  description: >
    **Draft: specification in progress. Endpoints and fields may change.**


    TESA's B2B treasury infrastructure API. USDC comes in through Circle's CCTP

    (Ethereum and Solana) and is allocated to tokenized Treasuries (USDY and
    BUIDL).

    The API is non-custodial: it never receives a private key or a signed
    transaction.

    It returns unsigned transactions and approval requests, and the signer is
    the

    company or its custodian.


    Resource paths, field names, event names and error codes are in Portuguese
    by

    design. Amounts are USDC decimal strings with two decimal places, dates are
    ISO

    8601 UTC and lists use cursor pagination (`limite` and `apos`). All example

    values are illustrative.
  contact:
    name: TESA
    email: contact@t3sa.com
    url: https://t3sa.com
servers:
  - url: https://api.t3sa.com/v1
    description: Production (proposed URL, not live yet)
  - url: https://sandbox.api.t3sa.com/v1
    description: Sandbox (proposed URL, not live yet)
security:
  - bearerAuth: []
tags:
  - name: Organization
    description: The client company, owner of all keys and resources.
  - name: Wallets
    description: >-
      Company wallets linked by public address. No key ever passes through the
      API.
  - name: Positions
    description: A snapshot of the cash position, the same as in the dashboard.
  - name: Allocation policy
    description: Assets approved by the company and the proportion between them.
  - name: Proposals
    description: >-
      Every allocation movement starts as a proposal and only executes with
      approval.
  - name: Redemptions
    description: Return of USDC balance to a linked company wallet.
  - name: Records
    description: On-chain audit trail, with the hash of each transaction.
  - name: Yield and charges
    description: Yield calculated per period and the fee charged on it.
  - name: Webhooks
    description: Destinations that receive TESA events.
paths:
  /registros:
    get:
      tags:
        - Records
      summary: List on-chain records
      description: |
        Draft: specification in progress. Endpoints and fields may change.

        On-chain audit trail, filterable by type, network and period.
        Scope: `read`.
      operationId: listarRegistros
      parameters:
        - $ref: '#/components/parameters/Limite'
        - $ref: '#/components/parameters/Apos'
        - name: tipo
          in: query
          schema:
            type: string
            enum:
              - deposito
              - cctp
              - alocacao
              - rebalanceamento
              - resgate
        - name: rede
          in: query
          schema:
            $ref: '#/components/schemas/Rede'
        - name: desde
          in: query
          description: Start of the period, in ISO 8601 UTC.
          schema:
            type: string
            format: date-time
        - name: ate
          in: query
          description: End of the period, in ISO 8601 UTC.
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Page of records.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Pagina'
                  - type: object
                    properties:
                      dados:
                        type: array
                        items:
                          $ref: '#/components/schemas/Registro'
        '401':
          $ref: '#/components/responses/NaoAutenticado'
components:
  parameters:
    Limite:
      name: limite
      in: query
      description: Maximum number of items per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    Apos:
      name: apos
      in: query
      description: Cursor returned in `proximo_cursor` on the previous page.
      schema:
        type: string
  schemas:
    Rede:
      type: string
      enum:
        - ethereum
        - solana
    Pagina:
      type: object
      properties:
        tem_mais:
          type: boolean
        proximo_cursor:
          type:
            - string
            - 'null'
    Registro:
      type: object
      properties:
        id:
          type: string
          examples:
            - reg_5q1w
        tipo:
          type: string
          enum:
            - deposito
            - cctp
            - alocacao
            - rebalanceamento
            - resgate
        rede:
          $ref: '#/components/schemas/Rede'
        tx_hash:
          type: string
        bloco:
          type: integer
        ativo:
          type: string
          enum:
            - USDC
            - USDY
            - BUIDL
        valor:
          $ref: '#/components/schemas/Valor'
        referencia_id:
          type:
            - string
            - 'null'
          description: Source proposal or redemption.
        confirmado_em:
          type: string
          format: date-time
    Valor:
      type: string
      pattern: ^\d+\.\d{2}$
      description: USDC amount, a decimal string with two decimal places.
      examples:
        - '842110.00'
    Erro:
      type: object
      properties:
        erro:
          type: object
          properties:
            codigo:
              type: string
              examples:
                - saldo_insuficiente
            mensagem:
              type: string
            campo:
              type:
                - string
                - 'null'
            requisicao_id:
              type: string
              examples:
                - req_9d8c7b
  responses:
    NaoAutenticado:
      description: Missing, invalid or revoked key, or invalid HMAC signature.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Erro'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        The organization's API key (`tesa_live_...` in production,
        `tesa_test_...` in the sandbox).

````