Terminal de cobrança da loja no Telegram
Reais no chat · USDC no Solana · o agente nunca segura a chave
Bot: @caixa_zeroclaw_bot · Showcase · Dia a dia · Setup
A loja já vive no Telegram. Cobrar USDC sem Caixa vira:
- colar endereço na mão e errar valor
- ou entregar hot wallet a um bot com LLM no meio
Isso não é um chat de IA. É o caixa da operação.
| Quem | Faz o quê |
|---|---|
| Dono | Cobra mesa 9: R$ 25 no @caixa_zeroclaw_bot |
| Caixa | Devolve QR + solana: (USDC, memo da mesa) |
| Cliente | Abre o QR no Phantom / Solflare e assina |
| Dono | A mesa 9 já pagou? → PAGO / ainda não |
Custódia T1 / T0: monta cobrança e lê a chain. Cliente assina na carteira dele.
flowchart LR
subgraph Loja["Loja · Telegram"]
Dono["Dono"]
Bot["@caixa_zeroclaw_bot"]
Dono -->|"Cobra mesa 9: R$ 25"| Bot
Dono -->|"Já pagou?"| Bot
end
subgraph ZeroClaw["ZeroClaw · self-hosted"]
Soul["SOUL da loja"]
Charge["caixa_charge · T1"]
Watch["caixa_watch · T0"]
Core["caixa-core"]
Soul --> Charge
Soul --> Watch
Charge --> Core
Watch --> Core
end
subgraph Solana["Solana"]
Pay["Solana Pay · USDC"]
Chain["Memo INV=mesa-9"]
Wallet["Carteira do cliente"]
end
Bot --> Soul
Charge -->|"QR + solana:"| Bot
Charge --> Pay
Wallet -->|"assina"| Pay
Pay --> Chain
Watch -->|"PAGO / aguardando"| Bot
Watch --> Chain
sequenceDiagram
participant D as Dono
participant B as @caixa_zeroclaw_bot
participant C as caixa_charge
participant W as Carteira cliente
participant S as Solana
participant V as caixa_watch
D->>B: Cobra mesa 9: R$ 25
B->>C: amount_brl + invoice mesa-9
C-->>B: QR HTTPS + solana:
B-->>D: mostre o QR ao cliente
D->>W: cliente escaneia
W->>S: USDC + memo INV=mesa-9
D->>B: A mesa 9 já pagou?
B->>V: watch invoice
V->>S: signatures / memo
V-->>B: PAGO
B-->>D: PAGO — mesa-9
- Sem chave no agente — não existe path de assinatura
- Allowlist de mint + caps no WASM — o modelo não contorna
- Injection fail-closed — mint estranha /
private_keyno memo → recusa - Estorno via
caixa_transfer_build(unsigned + durable nonce) — humano assina
Detalhes: operator/INJECTION.md · operator/LAYERING.md
Ver operator/DAY.md.
Cobra mesa 9: R$ 25
A mesa 9 já pagou?
Atalho: operator/EVENING.md
# host ZeroClaw com plugins-wasm (uma vez)
# depois, neste repo:
bash scripts/install-plugins.sh # ou install-from-artifact.sh
bash scripts/setup-agent.sh caixa
# merge operator/config.example.toml → recipient = sua pubkey
zeroclaw daemon -v
# Telegram → Cobra mesa 9: R$ 25Prebuilt WASM: GitHub Actions → plugins-wasm (artifact caixa-plugins-wasm).
crates/caixa-core/ Pay, RPC, SPL, quote BRL→USDC
plugins/caixa-charge/ cobrança Solana Pay
plugins/caixa-watch/ conferência on-chain (+ SOP cron)
plugins/caixa-transfer-build/ estorno/saque unsigned
operator/ SOUL, config, dia a dia
scripts/ install + agent setup
skills/caixa-terminal/ fallback stock binary (opcional)
(cd crates/caixa-core && cargo test)
(cd plugins/caixa-charge && cargo test)
(cd plugins/caixa-watch && cargo test)
(cd plugins/caixa-transfer-build && cargo test)Write-up completo: SHOWCASE.md
MIT OR Apache-2.0 · Built for shops that already run on Telegram · Powered by ZeroClaw + Solana