Saltar al contenido principal

Resumen

El registro de wallets demuestra la propiedad de una wallet de Solana ante LaserSell API. El registro es obligatorio antes de conectar wallets al Exit Intelligence Stream. El stream valida que cada wallet en tu mensaje configure esté registrada en tu cuenta. El registro usa firmas Ed25519, por lo que no se necesita ninguna transacción en cadena.

POST /v1/wallets/register

Registra una wallet demostrando la propiedad con una firma Ed25519.

Solicitud

{
  "wallet_pubkey": "YourWalletPubkey...",
  "signature": "base58-encoded-ed25519-signature",
  "message": "lasersell-register:YourWalletPubkey...:1706000000",
  "label": "My Trading Wallet"
}
CampoTipoRequeridoDescripción
wallet_pubkeystringClave pública de la wallet de Solana a registrar.
signaturestringFirma Ed25519 del mensaje, codificada en base58.
messagestringMensaje estructurado: lasersell-register:<pubkey>:<unix_timestamp>. La marca de tiempo debe estar dentro de 5 minutos.
labelstringNoEtiqueta opcional legible para la wallet.

Respuesta

{
  "wallet_pubkey": "YourWalletPubkey...",
  "registered": true
}

Autenticación

Requiere un encabezado x-api-key con una clave API válida.

Errores

EstadoCódigoDescripción
400Bad RequestFormato de clave pública inválido, mensaje malformado o marca de tiempo expirada (>5 min).
403ForbiddenClave API faltante o inválida, o verificación de firma fallida.

DELETE /v1/wallets

Desregistra una wallet.

Solicitud

{
  "wallet_pubkey": "YourWalletPubkey..."
}

Respuesta

{
  "wallet_pubkey": "YourWalletPubkey...",
  "removed": true
}

Uso del SDK

Los 4 SDKs proporcionan métodos auxiliares para el registro de wallets.

proveOwnership / prove_ownership

Genera un WalletProof localmente usando tu par de claves. Esta es una operación criptográfica pura sin llamada de red.
import { proveOwnership } from "@lasersell/lasersell-sdk";

const proof = proveOwnership(keypair);
// proof = { walletPubkey, signature, message }

registerWallet / register_wallet

Envía la prueba a la API para registrar la wallet.
const client = ExitApiClient.withApiKey(apiKey);
await client.registerWallet(proof, "My Wallet");

connectWithWallets / connect_with_wallets

Método de conveniencia que registra wallets y se conecta al stream en un solo paso.
import { StreamClient, proveOwnership } from "@lasersell/lasersell-sdk";

const proof = proveOwnership(keypair);
const client = new StreamClient(apiKey);
const session = await client.connectWithWallets(
  [proof],
  { target_profit_pct: 50, stop_loss_pct: 10 },
  120, // deadline_timeout_sec
);