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

# API da TESA

> Coloque o caixa em USDC da empresa para render Treasuries tokenizados a partir do seu próprio sistema, sem entregar as chaves.

<Warning>
  Rascunho: especificação em definição. Endpoints e campos podem mudar.
</Warning>

A API da TESA leva a mesma infraestrutura do painel para dentro do sistema da empresa. Com ela, a integração lê posições e rendimento, prepara alocações, rebalanceamentos e resgates e acompanha cada transação on-chain. As chaves continuam com a empresa ou com o custodiante que ela já usa.

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/docs/api/quickstart">
    Primeira chamada em 5 minutos.
  </Card>

  <Card title="Por que a TESA" icon="scale" href="/docs/api/por-que-tesa">
    O que a API poupa em relação a construir internamente.
  </Card>

  <Card title="Referência da API" icon="list-tree" href="/docs/api/endpoints">
    Todos os endpoints, com parâmetros e respostas.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/docs/api/webhooks">
    Eventos de depósito, alocação, resgate e cobrança.
  </Card>

  <Card title="Exemplos" icon="code" href="/docs/api/guias/resgate">
    Fluxos completos de resgate e rebalanceamento.
  </Card>
</CardGroup>

## Principais recursos

<AccordionGroup>
  <Accordion title="Posições e rendimento em tempo real" icon="chart-line">
    Caixa consolidado, saldo rendendo, saldo disponível, divisão entre USDY e BUIDL e yield acumulado, com os mesmos números do painel.
  </Accordion>

  <Accordion title="Alocação guiada por política" icon="sliders-horizontal">
    A empresa define os ativos aprovados e a proporção entre eles. A carteira padrão é de cerca de 60% em USDY e 40% em BUIDL.
  </Accordion>

  <Accordion title="Rebalanceamento só com aprovação" icon="shield-check">
    A TESA sugere ajustes quando o spread entre os ativos muda, mas nada é executado sem aprovação explícita da empresa.
  </Accordion>

  <Accordion title="Resgate em segundos" icon="zap">
    O USDC volta para a custódia da empresa em segundos depois da assinatura, pronto para pagamentos.
  </Accordion>

  <Accordion title="Trilha on-chain completa" icon="scroll-text">
    Cada depósito, transferência via CCTP, alocação e resgate gera um registro com o hash da transação.
  </Accordion>
</AccordionGroup>

## O que dá para construir

<CardGroup cols={2}>
  <Card title="Tesouraria automatizada" icon="bot">
    Regras internas que mantêm um colchão de liquidez em USDC e mandam o excedente para render.
  </Card>

  <Card title="Painel próprio" icon="layout-dashboard">
    Posições, rendimento e cobranças dentro da ferramenta que a diretoria financeira já usa.
  </Card>

  <Card title="Integração com ERP" icon="building-2">
    Resgates disparados pelo lote de pagamento e conciliação automática por referência interna.
  </Card>

  <Card title="Custodiante parceiro" icon="vault">
    Custodiantes qualificados recebem transações não assinadas e oferecem yield de Treasury aos próprios clientes.
  </Card>
</CardGroup>

## Redes e ativos suportados

| Tipo | Suportados |
| - | - |
| Redes | Ethereum, Solana |
| Entrada e saída | USDC, via CCTP da Circle |
| Treasuries tokenizados | USDY (Ondo), BUIDL (BlackRock) |

Detalhes em [Redes e ativos suportados](/docs/produto/redes-e-ativos-suportados).

## Exemplo rápido

Ler as posições e solicitar um resgate para a carteira operacional. Os valores são ilustrativos.

```typescript TypeScript theme={null}
const BASE = "https://sandbox.api.t3sa.com/v1"; // URL proposta
const headers = {
  Authorization: `Bearer ${process.env.TESA_API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Quanto está rendendo e quanto está disponível
const posicoes = await fetch(`${BASE}/posicoes`, { headers }).then((r) => r.json());
console.log(posicoes.rendendo, posicoes.disponivel);

// 2. Solicitar um resgate (fica pendente até a aprovação)
const resgate = await fetch(`${BASE}/resgates`, {
  method: "POST",
  headers: { ...headers, "Idempotency-Key": crypto.randomUUID() },
  body: JSON.stringify({
    valor: "150000.00",
    carteira_destino_id: "cart_3k9d",
    referencia_interna: "folha-2026-09",
  }),
}).then((r) => r.json());

console.log(resgate.id, resgate.status); // res_4t7x pendente
```

Depois da aprovação, a transação não assinada segue para o custodiante, que assina e transmite. O evento `resgate.concluido` chega por webhook quando o USDC está na carteira de destino.

## Próximos passos

<Steps>
  <Step title="Solicite uma chave de API">
    Escreva para [contact@t3sa.com](mailto:contact@t3sa.com?subject=Chave%20de%20API%20Tesa) com o nome da empresa e o caso de uso. A primeira chave é de sandbox.
  </Step>

  <Step title="Siga o quickstart">
    Faça a [primeira chamada em 5 minutos](/docs/api/quickstart), do `GET /posicoes` ao webhook de resgate.
  </Step>

  <Step title="Entenda a arquitetura">
    Veja em [Arquitetura](/docs/api/arquitetura) quem guarda as chaves e como cada operação é preparada, aprovada e assinada.
  </Step>

  <Step title="Integre">
    Use os [guias](/docs/api/guias/rebalanceamento) e a [referência da API](/docs/api/endpoints) para levar o fluxo à produção.
  </Step>
</Steps>

## Acesso e suporte

A TESA é infraestrutura B2B e a API só é liberada para empresas. Não existe contrato individual por cliente: o acesso é regido pelos [Termos de Uso](/docs/legal/termos-de-uso), aceitos no onboarding da organização.

Dúvidas sobre a especificação ou sobre a integração: [contact@t3sa.com](mailto:contact@t3sa.com).
