> ## 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.

# Introdução e Instalação

> Visão geral e instalação do SDK oficial @pagfinance/sdk, o cliente framework-agnóstico para integrar sua aplicação à API do PagFinance.

O **`@pagfinance/sdk`** é o SDK cliente, framework-agnóstico, para integrar aplicações externas à API do PagFinance (pagamentos cripto convertidos para PIX, boleto ou giftcard, verificação de KYC e cotações de preço).

<Info>
  Referência oficial do pacote: [**@pagfinance/sdk no npm**](https://www.npmjs.com/package/@pagfinance/sdk). Esta documentação é baseada no README e no contrato público desse pacote.
</Info>

## Por que usar o SDK

O SDK foi projetado para ser plugável em qualquer aplicação e para nunca conter segredos, chaves ou lógica de criptografia. Toda a parte sensível permanece na aplicação host, protegendo a propriedade intelectual e a segurança do PagFinance.

<CardGroup cols={2}>
  <Card title="Compatibilidade ampla" icon="laptop-code">
    Funciona em Node 18+, navegadores e bundlers modernos.
  </Card>

  <Card title="Sem segredos embutidos" icon="shield-check">
    Nenhuma chave privada ou lógica de assinatura vive no cliente.
  </Card>

  <Card title="Autenticação Web3" icon="wallet">
    Login por challenge-response (estilo SIWS), orquestrado pelo SDK.
  </Card>

  <Card title="Framework-agnóstico" icon="puzzle-piece">
    Independente de framework de UI ou backend específico.
  </Card>
</CardGroup>

## Requisitos

<ParamField path="Node.js" type="18+">
  Ambiente Node 18 ou superior, navegador moderno ou bundler.
</ParamField>

<ParamField path="Token JWT" type="opcional">
  Para endpoints autenticados, forneça um token JWT obtido pelo fluxo de login. Endpoints públicos não exigem token.
</ParamField>

## Instalação

<CodeGroup>
  ```bash npm theme={null}
  npm install @pagfinance/sdk
  ```

  ```bash pnpm theme={null}
  pnpm add @pagfinance/sdk
  ```
</CodeGroup>

## Primeiro contato

Instancie o cliente apontando para o host da API e comece a chamar endpoints públicos, que não exigem autenticação:

```ts theme={null}
import { PagFinanceClient } from '@pagfinance/sdk';

const client = new PagFinanceClient({
  baseUrl: 'https://app.pag.finance', // host da API (proxy Next.js)
  clientId: 'meu-app',
  appMeta: { name: 'meu-app', version: '1.0.0', domain: 'meuapp.com' },
  defaultBlockchain: 'solana',
});

// Endpoint público (sem auth)
const config = await client.assets.acceptedCryptos();
```

<Tip>
  Continue por [Autenticação e Configuração](/pt-BR/sdks/authentication) para configurar o cliente e o login, depois veja [Uso e Exemplos](/pt-BR/sdks/usage-examples) para fluxos ponta a ponta.
</Tip>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Autenticação e Configuração" icon="key" href="/pt-BR/sdks/authentication">
    Opções do cliente, tokens e login challenge-response.
  </Card>

  <Card title="Uso e Exemplos" icon="code" href="/pt-BR/sdks/usage-examples">
    Fluxos completos de cotação, criação e recibo.
  </Card>

  <Card title="Referência de Métodos" icon="list" href="/pt-BR/sdks/method-reference">
    Todos os recursos e métodos disponíveis.
  </Card>

  <Card title="API Reference" icon="server" href="/pt-BR/api-reference/overview">
    Endpoints REST subjacentes ao SDK.
  </Card>
</CardGroup>
