SpendGuard and paid-check architecture
ACHIEVED ·
Issuer: KushBitx
Type: Technical trust signal
Public documentation; not an independent architecture audit.
Security measures that are in place for KushBitx today. Each entry states its scope and limits; none is a third-party certification unless stated.
Dates show when each item was recorded. External ratings are historical and may change on a later scan.
Agent checks receive only the input needed for the selected check, such as a token address, an unsigned transaction or a transaction hash. KushBitx never asks for or holds private keys, never signs and never moves funds. We do not accept client files. Reconciliation and close services were discontinued on 24 October 2026.
Client data is not processed with an AI tool until KushBitx has approved a commercial route for it, after reviewing the product terms, training, retention and sub-processors. We do not train models on client data.
Past enquiries: the last one was received on 7 October 2026. Each is deleted automatically 90 days after receipt, so all are deleted by 5 January 2027. Paid tool reports and recovery records: 30 days. Evidence Chain records: 30 days after a chain's last record. API reliability observations and anonymous site events: up to 30 days. Existing backups follow their own retention policy. Details are in the privacy notice.
Privacy or security questions: admin@kushbitx.com. Vulnerability reports: security policy.
ACHIEVED ·
Issuer: KushBitx
Type: Technical trust signal
Public documentation; not an independent architecture audit.
ACHIEVED ·
Issuer: KushBitx
Type: Technical trust signal
No wallet private keys, seed phrases, transaction signing or customer payment execution. A separate trusted signer/payment system must enforce decisions.
ACHIEVED ·
Issuer: KushBitx
Type: Technical trust signal
Published intake and triage procedure; no penetration-test or response-time certification.
ACHIEVED ·
Issuer: KushBitx / RFC 9116
Type: Technical trust signal
Public reporting metadata and policy; not a bug-bounty or third-party certification.
ACHIEVED ·
Issuer: KushBitx
Type: Technical trust signal
Self-published data-handling notice; not an independent privacy certification.
ACHIEVED ·
Issuer: Mozilla
Type: Automated external security rating
Recorded 26 September 2026: 115/100. HTTP configuration only; not a certification.
ACHIEVED ·
Issuer: Qualys SSL Labs
Type: Automated external security rating
Recorded 26 September 2026. TLS configuration only; the link may show a later result. Not a certification.
ACHIEVED ·
Issuer: National Cybersecurity Alliance
Type: Public pledge
Official 2026 Champion participation, confirmed by the National Cybersecurity Alliance on 27 September 2026. Awareness participation only; not a certification or audit.
ACHIEVED ·
Issuer: npm
Type: Registry listing
Public software distribution; npm presence is not endorsement, identity verification or security certification.
LISTED ·
Issuer: Model Context Protocol Registry
Type: Registry listing
Listing, not endorsement, identity verification or security certification.
LISTED ·
Issuer: Circle
Type: Registry listing
Listing, not endorsement, identity verification or security certification.
LISTED ·
Issuer: Coinbase (agentic.market, from x402 Bazaar discovery)
Type: Registry listing
Listing, not endorsement, identity verification or security certification.
LISTED ·
Issuer: x402-list
Type: Registry listing
Listing, not endorsement, identity verification or security certification.
LISTED ·
Issuer: npm
Type: Registry listing
Listing, not endorsement, identity verification or security certification.
These are results of an internal test we ran while developing the engine. They are not an independent evaluation. We built the cases, ran them and classified the results ourselves.
Version tested. Preflight engine commit 7e40897. Production version 3fe4ddd2 runs the same engine. The test ran on 2026-11-02 against our staging environment through a dry-run route: nothing was signed, sent or paid. Ranges in brackets are 95% Wilson confidence intervals. The samples are small, so the ranges are wide; read them before the point figures.
One hour of recent, successful Base transactions (blocks 53,406,471 to 53,408,470), collected after the last engine change and never used to adjust it. Senders are ordinary wallets (no contract code), and no counterparty was on ScamSniffer or Forta when the cases were built. The 52 transactions come from 52 different senders, to 37 different recipients or contracts, and involve 30 different tokens.
A successful transaction is not necessarily a safe one. We did not verify these transactions one by one, so we sort each flag by its cause.
| Result | |
|---|---|
| Returned ALLOW | 38 of 52 |
| Flagged (REVIEW or BLOCK) | 14 of 52 [16.8–40.3%] |
| — on a strong risk signal present in the transaction | 13 of 52 [15.2–38.2%] |
| — on weak signals only (our internal classification, not independently verified) | 0 of 52 [0–6.9%] |
| — technical (a check could not finish) | 1 of 52 [0.3–10.1%] |
| Returned BLOCK | 2 of 52 [1.1–13.0%] |
| Type | Flagged |
|---|---|
| ETH transfers | 0 of 10 |
| Token transfers | 3 of 15 |
| Approvals | 8 of 15 |
| Swaps | 3 of 12 |
Where each signal comes from:
| Source | What it gives |
|---|---|
| Our simulation (eth_simulateV1 on public Base RPC) | Asset movements, swap output, undeclared outflows, reverts |
| Our rules | Calldata checks (unlimited approval, approval to a wallet, transfer to a token contract), our verified spender list, spending policy |
| GoPlus | Address reputation labels; token controls (pause, blacklist, mint, proxy, hidden owner); honeypot and taxes as a fallback |
| Honeypot.is | Buy and sell simulation, taxes |
| Sourcify | Source verification of a spender contract (limited approvals) |
| DexScreener, GeckoTerminal | Liquidity and pair data, mostly for information in Preflight |
These cases were used while we changed the engine, so they show that the rules work as designed, not how the engine does on unseen data.
A. 140 constructed and listed cases. 8 of them are standalone Token Risk checks, not Preflight; they are reported separately below. The table covers the other 132 Preflight cases.
| Preflight | Preflight without address reputation | Naive address-blocklist baseline (not a competitor product) | |
|---|---|---|---|
| (a) Listed malicious counterparty, 40 cases | 40 of 40 flagged [91.2–100%], all BLOCK | 20 of 40 [35.2–64.8%] | 40 of 40 |
| (b) Constructed risky patterns, 30 cases | 30 of 30 flagged [88.6–100%], all BLOCK | 30 of 30 | 0 of 30 [0–11.4%] |
| Benign, 62 cases: flagged | 0 of 62 [0–5.8%] | 0 of 62 | 10 of 62 [9.0–27.2%] |
| Benign, 62 cases: BLOCK | 0 of 62 [0–5.8%] | 0 of 62 | 10 of 62 |
| Constructed pattern | Cases | Preflight | Blocklist baseline |
|---|---|---|---|
| Swap output sent to someone else | 10 | 10 BLOCK | 0 |
| Unlimited approval to a fresh wallet | 10 | 10 BLOCK | 0 |
| Transfer above the caller's spending policy | 5 | 5 BLOCK | 0 |
| Transfer to the token contract itself | 5 | 5 BLOCK | 0 |
B. Three earlier windows of real Base transactions (162).
| Result | |
|---|---|
| Flagged | 39 of 162 [18.1–31.2%] |
| — strong risk signal | 33 of 162 [14.9–27.2%] |
| — weak signals only (our internal classification, not independently verified) | 0 of 162 [0–2.3%] |
| — technical | 6 of 162 [1.7–7.8%] |
| Returned BLOCK | 9 of 162 (7 on tokens that could not be sold or whose owner can move balances, 2 replay artifacts) |
7e40897; production version 3fe4ddd2 runs the same engine.real-transactions.csv: all 214 real transactions (transaction hash, verdict, reason codes, our cause classification, and the verdict without address reputation).constructed-cases.csv: the 120 development cases not taken from ScamSniffer (inputs, verdict, reason codes).No date is set yet.
For an ETH or ERC-20 transfer, KushBitx Preflight compares the recipient with the addresses the sending wallet really paid or was paid by. Only real payments count; fake tokens and zero transfers never do. A recipient that shares the first and last 4 characters with one of those addresses, but is a different address, is REVIEW. If a planted fake-token, zero or dust transfer also connects the two, it is BLOCK.
What we measured, at the block before each transaction:
Limits:
expectedRecipient closes that gap: a different recipient is BLOCK.These are internal tests, not an independent audit.
KushBitx Signature Check answers ALLOW, REVIEW or BLOCK for an EIP-712 signature request before an agent signs it. It covers EIP-3009 (x402 payment authorisations), EIP-2612 Permit and Permit2 (allowances and signature transfers). Any other typed data is REVIEW. Each answer is bound to the EIP-712 digest of exactly what was checked.
What we measured, with typed data rebuilt from real Base transactions:
In short: 21 of 21 scored cases gave the expected answer, all 21 with the exact signed message.
What it does not cover yet:
These are internal tests, not an independent audit.