Attempt log
A send-transaction guard for AI agents: it simulates each transaction and blocks it if the balance changes don't match what the agent said.
Attempts today
23Forwarded
19Blocked
4Agents guarded
3Activity, last 30 days
TotalUnique
Breakdown
- Drop-in RPC endpoint: the...51%
- Intent declaration as JSON...24%
- Balance-diff check on simulation...25%
| Time | Agent | Attempt | Simulated diff | Verdict |
|---|---|---|---|---|
| 09:42:11 | dca-bot | Swap USDC to SOL via Jupiter | -25.00 USDC, +0.16 SOL | Forwarded |
| 09:47:03 | tool-payer | Pay tool invoice | -0.40 USDC | Forwarded |
| 10:03:48 | dca-bot | Swap USDC to SOL via Jupiter | -25.00 USDC, +0.00 SOL | Blocked: no SOL received |
| 10:11:20 | sniper-lite | Buy SPL token on a DEX | -0.80 SOL, +41,000 BONKLET | Blocked: SOL spend over 0.50 cap |
| 10:26:55 | tool-payer | Token transfer | -0.40 USDC, new delegate set | Blocked: delegate change |
| 10:31:09 | dca-bot | Swap USDC to SOL via Jupiter | -25.00 USDC, +0.16 SOL | Forwarded |
Agents behind Proctor
- dca-botSpent 75.00 of 100 USDC todayActive
- tool-payerSpent 1.20 of 5 USDC todayActive
- sniper-liteSpent 0.50 of 1 SOL todayWatching
Today's rejections
1Balance mismatch
1Over spend cap
1Authority or delegate
1Expired intent
Attempts per hour
Hourly send attempts across all agents, last 14 hours
Owner switches
Kill switch (reject everything)
Block new token authorities
Block delegate approvals
Welcome to Proctor
Connect a Solana wallet to set up your workspace. Proctor only reads your public address.
- Drop-in RPC endpoint: the agent points sendTransaction at Proctor, which simulates and forwards or rejectsPlanned
- Intent declaration as JSON with max spend per token, allowed destination tokens, slippage cap and expiryPlanned
- Balance-diff check on simulation results, plus a program allowlist and a block on new token authorities or delegate.Planned
- Owner policy set from your wallet: daily caps per agent and a kill switch that rejects everythingPlanned
- Log of every attempt with the simulated diff and reason for rejection, to debug agents and spot injection attemptsPlanned
Attempts
Every transaction your agents tried to send
Today
| Time | Agent | Programs | Simulated diff | Verdict | Signature |
|---|---|---|---|---|---|
| 09:42:11 | dca-bot | Jupiter, Token | -25.00 USDC, +0.16 SOL | Forwarded | 5Kq9...xT2a |
| 09:47:03 | tool-payer | Token | -0.40 USDC | Forwarded | 3mVd...Lp8c |
| 10:03:48 | dca-bot | Jupiter, Token | -25.00 USDC, +0.00 SOL | Blocked | none |
| 10:11:20 | sniper-lite | Token, DEX | -0.80 SOL, +41,000 BONKLET | Blocked | none |
| 10:26:55 | tool-payer | Token | -0.40 USDC, delegate set | Blocked | none |
| 10:31:09 | dca-bot | Jupiter, Token | -25.00 USDC, +0.16 SOL | Forwarded | 2Hb7...Qw4n |
Ask about an attempt
Why was the 10:03 swap from dca-bot rejected?
The simulation showed -25.00 USDC but no SOL arriving in the agent wallet. Your intent requires at least 0.15 SOL, so Proctor blocked it before it reached the cluster.
Did anything leave the wallet?
No. The transaction was never forwarded, so balances are unchanged. You can open the full simulated diff from the attempt row.
Agents
Each agent has its own endpoint, intent and cap
Registered agents
- dca-botWallet 7xKd...9fQ2, 75.00 of 100 USDC usActive
- tool-payerWallet Dn4P...kR7w, 1.20 of 5 USDC usedActive
- sniper-liteWallet 9bWe...Ac3J, 0.50 of 1 SOL usedWatching
Add an agent
Results appear here.
- Endpoint rpc.proctor.example/v1/research-buyer createdReady
- Default policy applied: authorities and delegates blockedActive
Intents
What each agent declared before sending
Active intent for tool-payer
{
"agent": "tool-payer",
"maxSpend": { "USDC": "0.50" },
"allowedReceive": [],
"slippageBps": 0,
"programs": ["11111111111111111111111111111111", "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
"expiresAt": "2025-06-12T12:00:00Z"
}Dry-run an intent
Results appear here.
- USDC spend -25.00 within max 25.00Pass
- SOL received +0.16 above minimum 0.15Pass
- No authority or delegate changesPass
Owner policy
Signed by your wallet, enforced on every send
Global rules
Kill switch (reject everything)
Block new token authorities
Block delegate approvals
Require intent on every send
Daily caps used
75 / 100 USDCdca-bot
1.2 / 5 USDCtool-payer
0.5 / 1 SOLsniper-lite
Changing a cap
Edit the capChoose the agent and enter a new daily limit.
Sign with your walletApprove a message in Phantom, Solflare or Backpack. No transaction fee.
Applies at onceThe next send is checked against the new cap.
Your wallet
Live: balances read from Solana after you connect. Read-only, nothing to sign.
Connection
LiveConnect Phantom, Solflare or Backpack. Proctor only reads your public address and balances.
W
SOL balance...
Token accounts
LiveConnect a wallet to list its tokens.