0.1.0 • Published yesterday
@aron-petrus/wallet-sdk
Licence
—
Version
0.1.0
Deps
1
Size
51 kB
Vulns
0
Weekly
0
Wallet SDK
SDK TypeScript para integrar aplicações de backend à Wallet.
O fluxo de autenticação é automático: ao realizar a primeira chamada protegida, o SDK autentica o api_user, armazena o token em memória e o renova quando necessário. A aplicação não precisa implementar login, challenge ou renovação de sessão.
Configuração do cliente
import { WalletSdk } from "@wallet/sdk";
const wallet = new WalletSdk({
baseUrl: process.env.WALLET_API_URL!,
apiUserAuth: {
privateKeyPem: process.env.WALLET_API_PRIVATE_KEY!,
publicKey: process.env.WALLET_API_PUBLIC_KEY!,
},
});
Depois da configuração, use os resources diretamente. A autenticação será feita na primeira chamada.
const vault = await wallet.vaults.create({
name: "customer-123",
requestId: crypto.randomUUID(),
});
const address = await wallet.vaultAddresses.create(vault.vaultId, {
networkGroup: "evm",
requestId: crypto.randomUUID(),
});
const balances = await wallet.balances.list(vault.vaultId);
console.log({ vault, address, balances });
Resources utilizados na integração
| Resource | Uso principal |
|---|---|
wallet.vaults |
Criar e listar vaults |
wallet.vaultAddresses |
Criar e listar endereços |
wallet.balances |
Consultar saldos e depósitos |
wallet.assets |
Cadastrar, atualizar e listar assets |
wallet.transactions |
Criar, listar e consultar transações |
Fluxo recomendado
- Configurar uma instância de
WalletSdkpor processo. - Criar ou localizar o vault do cliente.
- Criar um endereço para o grupo de rede necessário.
- Consultar saldos e depósitos pelo
vaultId. - Criar transações usando valores em string.
- Acompanhar o resultado por webhook ou por
wallet.transactions.get(). - Usar o Callback Handler quando a operação exigir aprovação externa antes da assinatura.
Documentação de integração
Cuidados de produção
- Mantenha a chave privada do
api_userfora do código-fonte e dos logs. - Reutilize a instância do cliente para compartilhar o token e sua renovação.
- Use
requestIdúnico nas criações para facilitar idempotência e rastreamento. - Trate valores financeiros como strings.
- Considere uma transação concluída somente após o estado final recebido pela Wallet.
- Valide a assinatura de todo Callback Handler ou webhook antes de processar o conteúdo.