POST /v2/check

request.sh
curl https://api.presign.example/v2/check \
  -H "Authorization: Bearer $PRESIGN_KEY" \
  -d '{
    "chain": "ethereum",
    "from": "0x71c2…a9d0",
    "to": "0xa0b8…eb48",
    "data": "0x095ea7b3…ffff"
  }'
response.json
{
  "verdict": "flagged",
  "summary": "Unlimited USDC approval",
  "flags": [
    "unlimited_allowance",
    "contract_age_lt_7d",
    "unverified_source"
  ],
  "fix": { "amount": "250000000" },
  "ms": 1180
}

The same checks, from your backend

Send a transaction, get back a verdict, the flags and a suggested fix. Built for wallets, exchanges and custody teams.

sdk

Three lines in your stack

import { Presign } from '@presign/sdk'

const presign = new Presign(process.env.PRESIGN_KEY)
const check = await presign.check(tx)

if (check.verdict === 'flagged') showFix(check.fix)

endpoints

Small on purpose

Small on purpose
methodpathwhat it does
POST/v2/checkCheck one transaction or signature
POST/v2/check/batchUp to 100 requests in one call
GET/v2/rulesList the rules and their versions
POST/v2/webhooksGet flagged requests pushed to you
  • POST

    Check one transaction or signature

    /v2/check

  • POST

    Up to 100 requests in one call

    /v2/check/batch

  • GET

    List the rules and their versions

    /v2/rules

  • POST

    Get flagged requests pushed to you

    /v2/webhooks

limits

Rate limits

Rate limits
itemvalue
Free key10 requests a second
Paid key200 requests a second
Batch100 requests per call
Uptime last 90 days99.98%
  • Free key

    10 requests a second

  • Paid key

    200 requests a second

  • Batch

    100 requests per call

  • Uptime last 90 days

    99.98%

Read. Then sign.

Add Presign to your wallet and see every request in plain words before you confirm it.

PresignAstro + Sanity themeBuy this theme $59 (opens in a new tab)