For wallets

Pre-sign checks for your wallet

Your users sign transactions they can't read: an approval hidden in a swap, a token account handed to someone else, a signature that lets a contract move everything. presign-guard reads the transaction before your user signs it and answers in one call: green, orange or red, with reason codes your app can act on and an explanation your user can read.

What it checks

One call before the confirm screen

curl -X POST https://presign-guard.fizzl.eu/v1/check/explain \
  -H 'x-credit-key: pgc_…' -H 'content-type: application/json' \
  -d '{ "type": "solana", "transaction": "AQAAAAAA…", "origin": "https://claim-airdrop.example", "lang": "en" }'
{
  "verdict": "red",
  "reasons": [{
    "code": "SOLANA_TOKEN_ACCOUNT_TAKEOVER", "severity": "red", "subject": "9WzD…AWWM",
    "details": { "tokenAccount": "2ocS…65aH", "authority": "AccountOwner",
                 "note": "hands this token account (and everything in it) to someone else" }
  }],
  "simulation": { "ok": true, "changes": [ … ] },
  "explanation": { "lang": "en", "text": "Don't sign this: it gives your USDC account to another wallet …" }
}

Block on red, warn on orange, show the explanation (English or Dutch) next to the confirm button, and use the simulated changes for a balance preview. /v1/check gives the verdict without the explanation.

Pricing

CallPer callWith a credit pack
Check (/v1/check), token verdict, wallet screen$0.011 credit
Check with explanation (/v1/check/explain)$0.033 credits
Approvals audit of a wallet$0.022 credits

A pack of 1,000 credits costs $7.00 (100 for $0.80), valid for a year: your backend sends one x-credit-key header, no payment per call. A failed call gives its credits back. Paying per call over x402 also works (USDC on Base, Solana, the XRP Ledger, Algorand or Stellar). For higher volumes, a monthly plan or a test allowance, email frits@fizzl.eu.

Trust

More