Solana

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
23
Forwarded
19
Blocked
4
Agents guarded
3

Activity, last 30 days

TotalUnique

Breakdown

  • Drop-in RPC endpoint: the...51%
  • Intent declaration as JSON...24%
  • Balance-diff check on simulation...25%
Attempt log
TimeAgentAttemptSimulated diffVerdict
09:42:11dca-botSwap USDC to SOL via Jupiter-25.00 USDC, +0.16 SOLForwarded
09:47:03tool-payerPay tool invoice-0.40 USDCForwarded
10:03:48dca-botSwap USDC to SOL via Jupiter-25.00 USDC, +0.00 SOLBlocked: no SOL received
10:11:20sniper-liteBuy SPL token on a DEX-0.80 SOL, +41,000 BONKLETBlocked: SOL spend over 0.50 cap
10:26:55tool-payerToken transfer-0.40 USDC, new delegate setBlocked: delegate change
10:31:09dca-botSwap USDC to SOL via Jupiter-25.00 USDC, +0.16 SOLForwarded

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

Attempts

Every transaction your agents tried to send

Today

TimeAgentProgramsSimulated diffVerdictSignature
09:42:11dca-botJupiter, Token-25.00 USDC, +0.16 SOLForwarded5Kq9...xT2a
09:47:03tool-payerToken-0.40 USDCForwarded3mVd...Lp8c
10:03:48dca-botJupiter, Token-25.00 USDC, +0.00 SOLBlockednone
10:11:20sniper-liteToken, DEX-0.80 SOL, +41,000 BONKLETBlockednone
10:26:55tool-payerToken-0.40 USDC, delegate setBlockednone
10:31:09dca-botJupiter, Token-25.00 USDC, +0.16 SOLForwarded2Hb7...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.

Intents

What each agent declared before sending

Active intent for tool-payer

json
{
  "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.

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

Live

Connect Phantom, Solflare or Backpack. Proctor only reads your public address and balances.

Token accounts

Live

Connect a wallet to list its tokens.