Arc pre-trade risk in microseconds, no chain call
Arc pre-trade risk in microseconds, no chain call: pass ?hook=0x… and get the verdict read straight out of the Uniswap v4 permission bits encoded in the hook address. It tells you what the hook is ALLOWED to do (run on every swap, rewrite the amounts, touch liquidity), not what it does: permission is not behaviour. No trap rate is quoted - the 83.7% we used to state came from a pre-buy sell quote and was withdrawn on 2026-09-22 after a real round trip sold 10 of 10 pools with that signature.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://apexfaucet.xyz/api/x402/arc-hook-risk
| Category | Market data |
|---|---|
| Provider host | apexfaucet.xyz |
| Networks | eip155:5042, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"discoverable": true,
"method": "GET",
"queryParams": {
"hook": "0xB780642659b782b672f20516fC267d5069252044"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"hook": {
"description": "The 0x hook address from a Uniswap v4 pool key.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
}
},
"required": [
"hook"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"queryParams"
],
"type": "object"
},
"output": {
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}