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

# Início rápido: sua primeira transação Pix a stablecoin

> Configure chaves de API, envie o KYC de um cliente de teste e processe sua primeira transação Pix para stablecoin com a API do Supercosmos for Platforms em menos de 5 minutos.

## Pré-requisitos

* Uma conta de desenvolvedor aprovada no Supercosmos for Platforms ([cadastre-se aqui](https://partners.mippo.io/apply))
* Uma chave de API de sandbox obtida no seu [painel do desenvolvedor](https://partners.mippo.io/partner/api-keys)

## 1. Instale o SDK

```bash npm theme={null}
npm install @mippo/laas-sdk
```

```bash yarn theme={null}
yarn add @mippo/laas-sdk
```

```bash bun theme={null}
bun add @mippo/laas-sdk
```

## 2. Inicialize o cliente

```typescript theme={null}
import { MippoLaas } from '@mippo/laas-sdk';

const mippo = new MippoLaas({
  apiKey: process.env.MIPPO_API_KEY,  // sk_test_... for sandbox
  environment: 'sandbox',
});
```

> [!WARNING]
>
> Nunca inicialize o SDK no lado do cliente. Sua chave de API deve permanecer no seu servidor backend.

## 3. Envie o KYC

```typescript theme={null}
const client = await mippo.kyc.submit({
  cpf: '123.456.789-09',
  biometricHash: 'sha256:your_biometric_hash',
  personType: 'PF',
});

// client.token → pass to transactions
// client.riskTier → 'STANDARD' | 'HIGH' | 'PEP'
```

> [!NOTE]
>
> No sandbox, qualquer CPF em formato válido passa no KYC e retorna `riskTier: 'STANDARD'`. Para testar o fluxo de risco `HIGH`, use o CPF `000.000.001-91`.

## 4. Inicie uma transação

```typescript theme={null}
const tx = await mippo.transactions.initiate({
  kycToken: client.token,
  amountBrl: 500,
  asset: 'USDT',
  walletAddress: '0xYourUserWalletAddress',
});
```

## 5. Trate o desafio de autenticação

Toda transação retorna um desafio de autenticação antes que um QR code Pix seja emitido.

> [tab] Risco padrão (MFA TOTP)
>
> ```typescript theme={null}
> if (tx.authChallenge?.type === 'MFA_TOTP') {
>   // Show your user a prompt to enter their TOTP code
>   const totpCode = await promptUserForTotp();
>
>   const confirmed = await mippo.transactions.confirmMfa({
>     transactionId: tx.transactionId,
>     totpCode,
>   });
>
>   // confirmed.pixPayload → render as QR code for the user
>   console.log(confirmed.pixPayload);
> }
> ```

> [tab] Alto risco / PEP (Liveness)
>
> ```typescript theme={null}
> if (tx.authChallenge?.type === 'LIVENESS') {
>   // Redirect user to the liveness URL or embed it in a WebView
>   const livenessUrl = tx.authChallenge.livenessUrl;
>   window.location.href = livenessUrl;
>   // Supercosmos fires a webhook when liveness passes → pixPayload sent via webhook
> }
> ```

## 6. Aguarde a conclusão

Depois que o usuário paga via Pix, a Supercosmos dispara um webhook `transaction.completed` para o seu endpoint. Consulte o [guia de Webhooks](https://laas.mippo.io/docs/guides/webhooks.md) para verificação.

```typescript theme={null}
// transaction.completed payload
{
  "event": "transaction.completed",
  "data": {
    "transactionId": "tx_1719000000_xyz",
    "txHash": "0xabc123...",
    "asset": "USDT",
    "amount": "90.25",  // after Supercosmos fee
    "walletAddress": "0xYourUserWalletAddress"
  }
}
```

> [!TIP]
>
> Pronto. A stablecoin já está na carteira do seu usuário.


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