botcage, trading permissions for Solana LOCAL EXECUTION

Permission Circuit

A bot can trade.
It should not own the wallet.

Run a trade request through seven policy checks in your browser. An allowed request updates the session budget. A rejection stops at its first failed check.

test a request protocol
REQ 010.030 SOLPumpSwap
EXECUTION RESULT0 / 7 CHECKS
QUEUEDLocal transaction request
SESSION BUDGET USED60%
authorize.ts L27Source
Request entry0.030 SOL · PumpSwap
export function authorize(session: Session, vault: Vault, req: Request): Decision {
VAULT BALANCE SOL
0.500
PER-TRADE CAP SOL
0.050
SESSION BUDGET SOL
0.200
SPENT SOL
0.120
REMAINING SOL
0.080
  1. 01Request created
  2. 02Checking
  3. 03Allow / deny
  4. 04Result recorded

test a request

ALLOWLIST PumpSwap / SESSION Active

Auto starts each case from the baseline. Manual requests share one balance. Replay uses the original request without recording it twice.

policy trace

0 / 7 CHECKS
#RULERESULTOBSERVED
01RevocationWAIT—
02Session clockWAIT—
03Program scopeWAIT—
04Positive amountWAIT—
05Per-trade capWAIT—
06Session budgetWAIT—
07Vault balanceWAIT—