El SDK oficial de pan para JavaScript/TypeScript simplifica la integración con pan API.
Instalacion
Configuración Basica
import { Pan } from '@pan/sdk' ;
const pan = new Pan ({
apiKey: process . env . PAN_API_KEY
});
Opciones de Configuración
const pan = new Pan ({
// Requerido
apiKey: 'pan_sk_...' ,
// Opcionales
baseURL: 'https://api.pan.tech/v1' , // URL base de la API
timeout: 30000 , // Timeout en ms (default: 30000)
debug: false , // Modo debug (default: false)
retries: 3 , // Reintentos automáticos (default: 3)
});
Opcion Tipo Default Descripción apiKeystring - Tu API key de pan baseURLstring https://api.pan.tech/v1URL base timeoutnumber 30000 Timeout en milisegundos debugboolean false Activa logs de debug retriesnumber 3 Reintentos en errores
Verificar Instalación
import { Pan } from '@pan/sdk' ;
const pan = new Pan ({ apiKey: process . env . PAN_API_KEY });
// Verificar conexión
try {
const yields = await pan . yields . getAll ();
console . log ( 'Conexión exitosa!' );
console . log ( 'Mejor APY:' , yields . best . apy );
} catch ( error ) {
console . error ( 'Error de conexión:' , error . message );
}
Variables de Entorno
Recomendamos usar variables de entorno para la API key:
# .env
PAN_API_KEY=pan_sk_tu_api_key_aqui
// Cargar con dotenv o similar
import 'dotenv/config' ;
import { Pan } from '@pan/sdk' ;
const pan = new Pan ({
apiKey: process . env . PAN_API_KEY
});
Nunca commitees tu API key. Agrega .env a tu .gitignore.
TypeScript
El SDK incluye tipos TypeScript completos:
import { Pan , Wallet , Intent , Balances , Yields } from '@pan/sdk' ;
const pan = new Pan ({ apiKey: process . env . PAN_API_KEY ! });
// Los tipos se infieren automaticamente
const wallet : Wallet = await pan . wallet . create ({
userId: 'user_123'
});
const balances : Balances = await pan . wallet . getBalances ( wallet . id );
const intent : Intent = await pan . lend ({
walletId: wallet . id ,
amount: 1000 ,
asset: 'USDC'
});
Próximos Pasos
Cliente Configuración avanzada del cliente
Wallets Operaciones con wallets
Intents Crear y monitorear intents