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

# Referência de Métodos

> Referência completa dos recursos e métodos do @pagfinance/sdk: assets, payments, receipts, kyc, user e auth.

O cliente expõe os recursos abaixo. Cada recurso agrupa métodos relacionados a um domínio da API.

<Note>
  Referência baseada no contrato público do pacote [@pagfinance/sdk](https://www.npmjs.com/package/@pagfinance/sdk). Os endpoints REST correspondentes estão documentados na [API Reference](/pt-BR/api-reference/overview).
</Note>

## Visão geral dos recursos

| Recurso    | Métodos                                                                                               |
| ---------- | ----------------------------------------------------------------------------------------------------- |
| `assets`   | `acceptedCryptos`, `gatewayConfig`, `assets`, `getAssetPrice`                                         |
| `payments` | `validateCode`, `quote`, `create`, `submit`, `list`, `get`                                            |
| `receipts` | `get({ type, tx, chain })`                                                                            |
| `kyc`      | `naturalProposal`, `legalProposal`, `documentUrl`, `check`, `cpfValidate`, `userData`                 |
| `user`     | `me`                                                                                                  |
| `auth`     | `signIn`, `challenge`, `verify`, `setToken`, `getToken`, `clearToken`, `otpSend`, `enableAutoRelogin` |

## assets

Cotações de preço e configuração de ativos. Métodos públicos, sem autenticação.

<AccordionGroup>
  <Accordion title="acceptedCryptos()">
    Retorna a configuração das criptomoedas aceitas pela plataforma.

    ```ts theme={null}
    const config = await client.assets.acceptedCryptos();
    ```
  </Accordion>

  <Accordion title="gatewayConfig()">
    Retorna a configuração do gateway de pagamento.

    ```ts theme={null}
    const gateway = await client.assets.gatewayConfig();
    ```
  </Accordion>

  <Accordion title="assets()">
    Lista os ativos disponíveis.

    ```ts theme={null}
    const assets = await client.assets.assets();
    ```
  </Accordion>

  <Accordion title="getAssetPrice({ assetId, fiatCurrency })">
    Retorna o preço de um ativo em uma moeda fiat.

    ```ts theme={null}
    const price = await client.assets.getAssetPrice({ assetId: 1, fiatCurrency: 'BRL' });
    ```
  </Accordion>
</AccordionGroup>

## payments

Validação, cotação, criação e consulta de pagamentos.

<AccordionGroup>
  <Accordion title="validateCode({ code })">
    Valida um código de pagamento (PIX, boleto ou giftcard).

    ```ts theme={null}
    const transfer = await client.payments.validateCode({ code: '00020101...' });
    ```
  </Accordion>

  <Accordion title="quote(req)">
    Solicita uma cotação para um pagamento.

    ```ts theme={null}
    const quote = await client.payments.quote(req);
    ```
  </Accordion>

  <Accordion title="create(req)">
    Cria um pagamento a partir de uma cotação.

    ```ts theme={null}
    const payment = await client.payments.create(req);
    ```
  </Accordion>

  <Accordion title="submit(req)">
    Submete a transação de um pagamento criado.

    ```ts theme={null}
    await client.payments.submit(req);
    ```
  </Accordion>

  <Accordion title="list()">
    Lista os pagamentos do usuário autenticado.

    ```ts theme={null}
    const payments = await client.payments.list();
    ```
  </Accordion>

  <Accordion title="get(id)">
    Retorna um pagamento específico pelo identificador.

    ```ts theme={null}
    const payment = await client.payments.get(id);
    ```
  </Accordion>
</AccordionGroup>

## receipts

Recibos de transação, agnósticos ao tipo de pagamento.

<Accordion title="get({ type, tx, chain })">
  Retorna o recibo de uma transação. Agnóstico: serve para PIX, boleto e giftcard.

  ```ts theme={null}
  const receipt = await client.receipts.get({ type: 'pix', tx: '...', chain: 'solana' });
  ```
</Accordion>

## kyc

Verificação de identidade (pessoa física e jurídica).

| Método            | Descrição                                      |
| ----------------- | ---------------------------------------------- |
| `naturalProposal` | Cria uma proposta de KYC para pessoa física.   |
| `legalProposal`   | Cria uma proposta de KYC para pessoa jurídica. |
| `documentUrl`     | Obtém a URL para envio de documentos.          |
| `check`           | Consulta o status da verificação.              |
| `cpfValidate`     | Valida um CPF.                                 |
| `userData`        | Retorna os dados do usuário associados ao KYC. |

## user

Dados do usuário autenticado.

<Accordion title="me()">
  Retorna os dados do usuário autenticado.

  ```ts theme={null}
  client.setToken(tokenJWT);
  const me = await client.user.me();
  ```
</Accordion>

## auth

Autenticação e gestão de tokens. Detalhes completos em [Autenticação e Configuração](/pt-BR/sdks/authentication).

| Método                   | Descrição                                          |
| ------------------------ | -------------------------------------------------- |
| `signIn(params, signer)` | Executa o fluxo completo de login e salva o token. |
| `challenge(params)`      | Solicita o desafio (nonce).                        |
| `verify(params)`         | Verifica a assinatura e recebe o token JWT.        |
| `setToken(token)`        | Define o token JWT no cliente.                     |
| `getToken()`             | Retorna o token atual.                             |
| `clearToken()`           | Remove o token do cliente.                         |
| `otpSend(params)`        | Envia um código OTP.                               |
| `enableAutoRelogin(fn)`  | Habilita re-login automático em 401.               |

## Erros

Todos os métodos podem lançar `PagFinanceError`.
