Live integration check · Free

See the API work.
Then connect your agent.

Run one market preview, one over-limit SpendGuard sample, and one unsigned x402 challenge. Every result comes from the live API. No account, wallet connection or payment is needed.

Ready. Checks run only when you click.

Free token preview

NOT RUN

Confirm that the market preview responds.

SpendGuard policy check

NOT RUN

A 6-USDC sample should exceed a 5-USDC limit.

Unsigned x402 challenge

NOT RUN

Read the 0.001-USDC token-report terms and stop.

This checks the browser-to-API path, not your agent's installation. SpendGuard returns an advisory decision; your trusted signer must enforce it. A successful diagnostic is not a purchase or a token safety verdict.

Connect your own agent

Install the SDK and use the same free endpoints in your application.

npm install @kushbitx/sdk
Follow the quickstart →

What a KushBitx Preflight answer looks like

A stored example, not a live check: a 1 USDC transfer from our own wallet to an address it has dealt with before, with expectedRecipient, checked on 2026-11-08 at Base block 54683062. Shortened. There is no input box here: a real check costs 0.005 USDC (or 5 credits).

{
  "reportVersion": "1.1",
  "service": "preflight",
  "checkedAt": "2026-11-08T08:36:34.358Z",
  "expiresAt": "2026-11-08T08:37:34.358Z",
  "transactionDigest": "0xb67c74e07040bf7eeaef751c293fd4f127f4f7b8916c6e2ede112632b8288825",
  "chainId": 8453,
  "onchainBlock": 54683062,
  "transactionType": "erc20_transfer",
  "verdict": "ALLOW",
  "riskLevel": "low",
  "reasonCodes": [],
  "checksPerformed": [
    "simulation",
    "calldata_decode",
    "destination",
    "recipient",
    "token",
    "sender",
    "effects"
  ],
  "checksUnavailable": [],
  "riskSignals": [
    {
      "code": "UPGRADEABLE_PROXY",
      "severity": "medium",
      "message": "Proxy architecture can allow implementation changes"
    }
  ],
  "addressPoisoning": {
    "status": "complete",
    "historyScanned": 1,
    "incomingScanned": 40,
    "historyTruncated": false,
    "knownRecipient": true,
    "knownAs": "paid_the_sender"
  },
  "effects": {
    "simulated": true,
    "transfers": [
      {
        "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
        "from": "0x0d68028d06af13379c872fee032568b4be712f22",
        "to": "0xd2db751a2fdba554706fb535438d81d3a0b42979",
        "amount": "1000000"
      }
    ]
  },
  "notChecked": [
    "prompt_injection: Preflight checks the transaction, not the instructions that produced it. Bound what an agent can pay with Protected SpendGuard, a server-side policy the model cannot change."
  ],
  "limitations": [
    "No protected policy was given, so spending limits were not checked. Free SpendGuard is advisory only; use Protected SpendGuard for an enforcement boundary.",
    "Advisory result, not financial advice and not a guarantee of safety. Simulation uses current chain state."
  ]
}

Sign only if verdict is ALLOW and transactionDigest matches your exact transaction before expiresAt (SDK canSign).

Choose the evidence you need

Simulation Check: 0.001 USDC.
Token risk: 0.001 USDC.
Payment proof: 0.00288 USDC.

Paid checks require a separate, explicit wallet approval. Token reports can return INCOMPLETE. If a delivered report is INCOMPLETE, you can request a refund within 7 days under the terms.

Explore paid checks →

Need help with an existing SpendGuard integration? Send an enquiry →

KushBitx E-Commerce, South Al Hayl, Al Seeb, Muscat 111, P.O. Box 776, OmanHomeDevelopersAPI pricingTermsPrivacyTrust