Your walletWallet root · sole approver
Agent wallets · Solana program upgrades
An upgrade should stop the agent.
Your agent's wallet trusts a program by its address. An upgrade keeps the address and swaps the code. Veto pauses the agent's payments until you approve the new deployment.
You approve code, not just an address.
The operator's wallet owns the protected Swig wallet and is the only key that can approve a new merchant-pay deployment.
Veto policyAgent, wallet, program, deployment
Swig walletAgent role, 500-token limit
merchant-payUpgradeable by the protocol team
Reading stateLoading
Approved slot—
Deployed slot—
Use a test wallet on devnet. Nothing here has value.
Veto wallet—Agent pays through Veto
Plain allowlist—Agent key allowed directly
Merchant received—Test tokens, no value
Deployed code—sha256 —
Run the scenario
PreparingPay under the reviewed build
PreparingThe agent pays 10 test tokens from each wallet.
The protocol ships v2
WaitingSame program address, new code: v2 charges the whole balance.
The agent pays again
WaitingIt asks for 10 from each wallet. Watch the balances.
The protocol ships a fix
WaitingThe reviewed build is redeployed. Veto still waits for you.
Review and approve
WaitingThe code matches the build you reviewed. Your wallet signs.
Payments resume
WaitingThe agent pays 10 through the approved deployment.
The slot is the stop sign. The hash helps you review.
- What Veto enforces on-chainOnly the named agent can use the delegated route, only through this Swig wallet, only into merchant-pay, and only while its deployment slot matches the one you approved.
- What the console addsA comparison of the deployed code hash with the build you reviewed. It refuses to prepare an approval for code that does not match.
- What remains outsideWhether the reviewed code is safe, calls made downstream by merchant-pay, and an independent security review.