# Autenticação (https://dev.cosmospay.lat/docs/pt/sdk/server/authentication/)

> Autentique-se com uma única chave de API; a rede (testnet vs mainnet) é escolhida automaticamente pelo prefixo da chave.

A autenticação é deliberadamente mínima: uma única chave de API secreta, mantida no seu servidor. O prefixo da chave também seleciona testnet ou mainnet por você, então não há mais nada a configurar. É novo por aqui? Veja [como obter sua chave de API](https://dev.cosmospay.lat/docs/api-keys/).

**Você só precisa da sua chave de API.** Todo o resto (URL do gateway, versão da API) faz
parte da configuração compartilhada do SDK, mantida pelo Cosmos Pay.

```ts
import { Client } from '@cosmosapp/pay_sdk';

const client = new Client({ apiKey: process.env.COSMOS_PAY_API_KEY });
```

A chave de API é enviada como `Authorization: Bearer <apiKey>`.

## Seleção de rede (importante)

A **rede é determinada pelo tipo da chave**. Você NÃO a configura:

| Prefixo da chave | Rede |
| ---------- | ------- |
| `dv_…`     | testnet |
| `prod_…`   | mainnet |

Por causa disso, os emissores de ativos são específicos de cada rede: use `Assets.*` para a mainnet
e `TestnetAssets.*` para a testnet (veja a documentação de ativos).

## Mantenha a chave no servidor

A chave de API é um segredo. Crie e valide intenções no seu **servidor**. O
cliente web no navegador apenas assina/envia; ele não precisa da chave. (Ele *pode* receber
uma `apiKey` para protótipos confiáveis, mas nunca envie uma chave de produção para o navegador.)

## Referências

- [Client](https://dev.cosmospay.lat/docs/sdk/definitions/server/client/): O ponto de entrada principal do SDK, um único cliente atômico que expõe cada recurso por meio do seu próprio gerenciador (um design atômico de cliente único).
