Skip to main content
Todos los casos de uso
Tesorería · ConceptoFintechs

Un float que se mantiene líquido: una propuesta sobre la billetera.

Esta página es una propuesta conceptual, no una función del producto. Lo que existe: la billetera guarda un saldo por moneda, codespar_wallet lee el saldo y el extracto, y la billetera se fondea por Pix (un cobro Pix dinámico para BRL; un Pix que UnblockPay convierte para USDC). Lo que no existe: un piso que la plataforma vigile, o mover saldo entre BRL y USDC. Aquí eso es política de tu agente.

AntesVigilar los saldos a mano
DespuésEl agente lee los saldos y aplica tu política
BRL · USDC
saldo por moneda, leído con codespar_wallet
Pruébalo en el Sandbox
BRL · USDC
Saldo por moneda
El saldo de la billetera, una fila por moneda
codespar_wallet
Saldo y extracto
Leídos con action=balance y action=statement
Pix
Fondeo
Un Pix dinámico fondea BRL; un Pix que UnblockPay convierte fondea USDC
—
Piso y rebalanceo
No es función del producto: es tu política, en tu código
Ejemplo ilustrativo · datos de demostración

Por debajo de tu piso, el agente pide fondeo.

Un ejemplo con datos de demostración: el agente lee los saldos de la billetera, ve BRL por debajo del piso que fija tu política y genera un Pix dinámico por la diferencia. Quien controla la fuente de fondos lo paga. Nada se mueve entre BRL y USDC.

  • El saldo por moneda viene de codespar_wallet
  • El piso es tu política, no una configuración de la plataforma
  • Fondear BRL es un Pix dinámico que alguien paga
  • Nada se mueve entre BRL y USDC: eso no se ofrece
Treasury Agent
codespar_wallet · BRL · USDC
Agente
codespar_wallet · action: "balance"
BRL1842.10
USDC950.00
via codespar_wallet · Wallet
BRL 1842.10 < 5000.00
codespar_wallet · action: "receive" · dynamic: true · 3157.90
Pix · Funding sourceR$ 3.157,90
00020126…5204
via codespar_wallet · Pix
✓ Pix
✓ BRL · USDC · Pixwallet_demo
El problema

La conversación es la parte fácil.

Un float de pagos o queda ocioso o se agota. Alguien vigila los saldos a mano y decide cuándo fondearlos.

Abrir el portal del banco para ver cada saldo

El agente lee el saldo por moneda con codespar_wallet

Notar el saldo bajo después de que falla un pago

Tu agente compara el saldo con el piso que fijas

Pedirle una transferencia a finanzas y esperar

El agente genera un Pix dinámico para fondear la billetera; la fuente de fondos lo paga

Perder el rastro de lo que entró y salió

El extracto lista los asientos de la billetera (action=statement)

Cómo lo hace el agente

Una propuesta, sobre las partes que existen.

El agente lee el saldo por moneda y el extracto de la billetera con codespar_wallet. Cuando BRL cae por debajo del piso que fija tu política, genera un Pix dinámico para fondear la billetera, y quien controla la fuente de fondos lo paga. El saldo en USDC se fondea con un Pix que UnblockPay convierte. Mantener el piso y elegir entre monedas siguen en el código de tu agente: CodeSpar no vigila un piso ni mueve saldo entre BRL y USDC.

01
Leer
codespar_wallet

Saldo por moneda

codespar_wallet
02
Comparar
Tu política

Saldo contra tu piso

03
Fondear
codespar_wallet

Un Pix dinámico por la diferencia

codespar_wallet
04
Pagar
Fuente de fondos

La fuente de fondos paga el Pix

05
Verificar
codespar_wallet

El extracto muestra el crédito

codespar_wallet
Arquitectura

codespar_wallet lee el saldo por moneda (action=balance) y los asientos (action=statement), y genera un Pix copia-e-cola dinámico para fondear la billetera (action=receive, dynamic=true). El saldo en USDC se fondea con POST /v1/consumers/{consumerId}/fund: el pagador paga un Pix y UnblockPay lo convierte en USDC para la billetera del consumidor. El piso, la decisión de fondear y cualquier elección entre monedas son política de tu agente; la plataforma no mantiene un piso ni mueve saldo entre monedas.

En código

El código, y lo que supone.

treasury-agent.ts
// Prerequisites: CODESPAR_API_KEY set to a test key (csk_test_…) and a consumer
// (user_0000) with a wallet. The floor is your policy: CodeSpar does not watch
// a floor and does not move balance between BRL and USDC.
import { CodeSpar } from "@codespar/sdk";

const session = await new CodeSpar().create("user_0000", { preset: "brazilian" });
const FLOOR_BRL_MINOR = 500_000; // R$ 5,000.00, your policy

const read = await session.execute("codespar_wallet", { action: "balance", consumer_id: "user_0000" });
const { balances } = read.data as { balances: { currency: string; balance_minor: number | string }[] };
const brl = Number(balances.find((b) => b.currency === "BRL")?.balance_minor ?? 0);

if (brl < FLOOR_BRL_MINOR) {
  // a dynamic Pix for the gap; whoever holds the funding source pays it
  const pix = await session.execute("codespar_wallet", {
    action: "receive",
    consumer_id: "user_0000",
    amount: FLOOR_BRL_MINOR - brl,
    dynamic: true,
    description: "Wallet top-up",
  });
  console.log(pix.data); // the copia-e-cola to pay
}

Ejemplo con el SDK publicado (@codespar/sdk 0.16.11). Los requisitos están en los comentarios. Compilar no prueba la integración: ejecútalo primero en modo de prueba.

Herramientas destacadas
codespar_wallet

Lee el saldo por moneda y el extracto; genera un Pix dinámico para fondear la billetera.

POST /v1/consumers/{consumerId}/fund

Fondea el saldo en USDC a partir de un Pix que UnblockPay convierte.

Ver la referencia de meta-tools

Empieza con una clave de prueba.

Las claves de prueba son gratuitas. Abre el sandbox, conecta los proveedores que usa tu proyecto y mira qué herramientas puede llamar antes de construir.

Agente de tesorería — CodeSpar | CodeSpar