The owner's table now shows the curtain: every contract and function a vault lets its agent call. Anything not on it is refused.
Click an entry, ask the vault how it would rule. One read, nothing signed.
Also in @vaubanworks/sdk 0.2.0: listAllowed()
https://t.co/VpypQSYPfx
New on the owner's table: inspection.
It reads a vault's own settings and flags the ones that don't do what they look like: an agent that is also the owner, caps that cancel each other out, a gate that can never hold anything.
Read-only, straight from the chain.
https://t.co/rX9xdJyzTl
Example: hold threshold 0.1 ETH, per-call cap 0.1 ETH. Looks fine. But the cap is checked first, so anything over 0.1 is refused outright and the gate never holds a thing. Inspection catches it.
New on the owner's table: inspection.
It reads a vault's own settings and flags the ones that don't do what they look like: an agent that is also the owner, caps that cancel each other out, a gate that can never hold anything.
Read-only, straight from the chain.
https://t.co/rX9xdJyzTl
New on the owner's table: the record.
Every change and every agent call a vault has seen, newest first, in plain words. Allowed, removed, held, passed, sealed. Read straight from the vault's own events on-chain.
https://t.co/VpypQSZn55
Two more fixes landed in the Aeon repo today.
One records the exact commit of an installed skill even when the GitHub CLI isn't logged in.
One was a bug report: the README check failed after installing any community pack. Fixed upstream.
Small things, but they make installs reproducible.
https://t.co/Z8mgZ115Mb https://t.co/lxdtD86OXR
Two more fixes landed in the Aeon repo today.
One records the exact commit of an installed skill even when the GitHub CLI isn't logged in.
One was a bug report: the README check failed after installing any community pack. Fixed upstream.
Small things, but they make installs reproducible.
https://t.co/Z8mgZ115Mb https://t.co/lxdtD86OXR
The owner's table now shows the curtain: every contract and function a vault lets its agent call. Anything not on it is refused.
Click an entry, ask the vault how it would rule. One read, nothing signed.
Also in @vaubanworks/sdk 0.2.0: listAllowed()
https://t.co/VpypQSYPfx
Since this went out: a ruling now lives in its link.
Open it and the vault answers on its own. This one asks the empty reference vault on Robinhood Chain to send 1 ETH to 0xdead:
https://t.co/XGlYt6cLJY
Refused at the curtain. No wallet, nothing signed.
The Vauban SDK is on npm.
npm install @vaubanworks/sdk viem
An agent asks its vault before it signs: rule() says pass, hold or refused, and by which rampart. execute() simulates first, so a refusal costs no gas.
TypeScript, built on viem.
The Vauban SDK is on npm.
npm install @vaubanworks/sdk viem
An agent asks its vault before it signs: rule() says pass, hold or refused, and by which rampart. execute() simulates first, so a refusal costs no gas.
TypeScript, built on viem.
Against the empty reference vault on Robinhood Chain, from a fresh install:
send ETH to 0xdead
-> Refused, curtain, CurtainNotListed
Not audited yet, so keep real funds out.
https://t.co/H3ocse0BP6
https://t.co/4f7EY5Zq5p
The Vauban SDK is on npm.
npm install @vaubanworks/sdk viem
An agent asks its vault before it signs: rule() says pass, hold or refused, and by which rampart. execute() simulates first, so a refusal costs no gas.
TypeScript, built on viem.
Most agent safety talk is about the model: better prompts, better guardrails, better judgment.
But the model is not what moves the money. The key is.
So Vauban does not try to make the agent smarter. It makes the wallet dumber: it only says yes to what you wrote down.
Built today: you can now ask a vault how it would rule on a call before anything is signed, right in the browser.
https://t.co/VpypQSZn55
Still not audited. Still empty on purpose. Still shipping.
Most agent safety talk is about the model: better prompts, better guardrails, better judgment.
But the model is not what moves the money. The key is.
So Vauban does not try to make the agent smarter. It makes the wallet dumber: it only says yes to what you wrote down.
That is the whole idea behind the four ramparts:
caps it cannot raise
contracts it cannot add
big moves that wait
one switch it cannot flip
The agent can be wrong, confused or fooled. The vault does not care. It checks the call, not the reasoning.
@portgasdluci@aeonframework Aaron is right, and thanks for asking him directly.
Vauban is an independent project. We contributed a skill pack to Aeon and they merged it, nothing more. No partnership, no endorsement of the token.
The PRs are public if anyone wants to check:
https://t.co/YRmY4ffvHm
$VAUBAN is live on Pons, paired with USDG.
CA: 0x4dDB087ec53DeCf24F9dCEe77Dd9aDAE793e6F87
A vault for agents on Robinhood Chain: caps, allowlist, time-lock, kill switch. Two PRs merged into @aeonframework.
There is an older copy on Pons. Ours is on https://t.co/CwyAe1mgpI:
Try it on the empty reference vault on Robinhood Chain: send ETH to 0xdead and the curtain refuses it.
The same check runs from an Aeon agent with the rule: skill.
Not audited yet. Code is open:
https://t.co/4f7EY5Zq5p
You can now ask a Vauban vault how it would rule on a call, right in the browser.
Paste a target, a value and calldata. The vault answers: pass, hold at the gate, or refused, and by which rampart.
No wallet, nothing signed. One read-only call.
https://t.co/VpypQSZn55
Runs from any @aeonframework install:
bin/install-skill-pack vaubandev/vauban --path aeon
It is a dry run: caps can change before the real call, and the vault is not audited.
https://t.co/4f7EY5Zq5p
New in the Vauban skill pack: rule:
Before an agent signs a call, it can ask its vault how the vault would rule on it. Pass, hold at the gate, or refused, and by which rampart.
One read-only eth_call. Nothing is signed or sent, and no key is needed.
Against the live reference vault on Robinhood Chain:
send 1 ETH to an unknown address
-> REFUSED at the CURTAIN, not on the allowlist
Until now a refused call left no trace in the logs, so the only way to learn the rules was to break one.