🚧 La documentacion de Bloque está en desarrollo
Before this
  • SDK instalado
  • API u Origin Key
  • Modo sandbox recomendado
After this15 min
  • Cuenta virtual base
  • Cuenta de tarjeta
  • Primera transferencia entre cuentas

Tu primera tarjeta

Construirás una configuración financiera completa: conectar → crear una cuenta base (que crea el ledger) → adjuntar una tarjeta a ese ledger → verificar el balance → mover fondos.


Paso 1 — Conectar

import { SDK } from '@bloque/sdk'

const sdk = new SDK({
  auth: { type: 'apiKey', apiKey: process.env.BLOQUE_API_KEY! },
  mode: 'sandbox',
})

const client = await sdk.connect()
console.log('Conectado como:', client.urn)
Estás conectado — client.urn está impreso
Conectado como: did:bloque:tu-origen:tu-alias

Paso 2 — Crear la cuenta base

La cuenta virtual es tu base. Crea el ledger que todas las demás cuentas compartirán.

const base = await client.accounts.virtual.create({
  holderUrn: client.urn,
  name: 'Principal',
})

console.log('URN cuenta base:', base.urn)
console.log('Ledger ID:', base.ledgerId)
La cuenta base está activa con un ledgerId
URN cuenta base: did:bloque:virtual:acc_... Ledger ID: ldg_...

Paso 3 — Adjuntar una tarjeta al mismo ledger

Pasa base.ledgerId para vincular la tarjeta al mismo pool de balance que tu cuenta virtual.

const tarjeta = await client.accounts.card.create({
  holderUrn: client.urn,
  ledgerId: base.ledgerId,
  name: 'Tarjeta de gastos',
})

console.log('URN tarjeta:', tarjeta.urn)
console.log('Últimos cuatro:', tarjeta.lastFour)
console.log('URL de detalles:', tarjeta.detailsUrl)
La tarjeta está creada y vinculada al mismo ledger
URN tarjeta: did:bloque:card:acc_... Últimos cuatro: 4242 URL de detalles: https://...

Paso 4 — Verificar el balance

const balance = await client.accounts.balance(base.urn)
console.log('Balance:', balance)
// { 'DUSD/6': { current: '0', pending: '0', in: '0', out: '0' } }

Paso 5 — Transferir fondos entre cuentas

const transferencia = await client.accounts.transfer({
  sourceUrn: base.urn,
  destinationUrn: tarjeta.urn,
  amount: '50000000', // 50.000000 DUSD = $50.00
  asset: 'DUSD/6',
})

console.log('Estado:', transferencia.status)
console.log('Queue ID:', transferencia.queueId)
La transferencia está en cola o completada
Estado: queued Queue ID: txn_...

Paso 6 — Ver el historial de movimientos

const movimientos = await client.accounts.movements({
  urn: tarjeta.urn,
  asset: 'DUSD/6',
  limit: 10,
})

console.log('Movimientos de la tarjeta:', movimientos.data)

Pasar a producción

Cambia mode: 'sandbox' por mode: 'production' y usa tu clave sk_live_. El mismo código funciona en producción sin ningún otro cambio.


¿Qué sigue?

KYC + Bancolombia — verifica una identidad y abre una cuenta bancaria colombiana