Skip to content
GET /v1/meta

Service metadata

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/approvalsecurity-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/approvalsecurity-api/v1/meta" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/approvalsecurity-api/v1/meta", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/approvalsecurity-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/approvalsecurity-api/v1/meta",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "note": "chain is a GoPlus chain id (1=Ethereum, 56=BSC, 137=Polygon, 42161=Arbitrum). 'risky' marks malicious or doubtful spenders — the ones to revoke. A clean wallet returns an empty approvals list.",
        "source": "GoPlus Security (api.gopluslabs.io, live)",
        "service": "approvalsecurity-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/chains": "Supported blockchains (id, name).",
            "GET /v1/contract": "Risk profile of a spender contract before you approve it (chain=1&contract=0x...).",
            "GET /v1/approvals": "Every token approval a wallet has granted, with spender risk and a risk summary (chain=1&address=0x...)."
        },
        "description": "Live audit of the token approvals (allowances) a crypto wallet has granted and the risk of the contracts it approved to spend its tokens, from GoPlus Security. Token approvals are the #1 way wallets get drained — the allowance-hygiene cut behind tools like revoke.cash. The approvals endpoint lists every token a wallet approved, the spender contract, the amount and whether that spender is malicious, trusted or unverified, with a risk summary; the contract endpoint profiles a single spender contract before you approve it; the chains endpoint lists supported blockchains. Live, no key, nothing stored. The approval / allowance-risk cut — distinct from the token-contract-security, scam-detection and on-chain APIs.",
        "upstream_status": "ok",
        "supported_chains": 42
    },
    "meta": {
        "timestamp": "2026-06-12T01:42:52.450Z",
        "request_id": "397c102b-c3d3-44b5-9490-3767d6bd75bc"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}