Arc pre-trade risk in microseconds, no chain call: pass ?hook=0x… and get the verdict r…
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 l…
by apexfaucet.xyz · discovered, not yet claimed by its owner · updated 2026-10-08
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
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.
Tags: uniswap v4 · hooks · arc · token safety · honeypot · bazaar
Call contract
- Method
- GET
- Input
- query parameters
- Output
- json
- Last paid call
- 2026-10-08
{
"hook": "0xB780642659b782b672f20516fC267d5069252044"
}{
"data": {
"historicalTrapRate": null,
"hook": "0xb780642659b782b672f20516fc267d5069252044",
"method": "Uniswap v4 permission bits read from the hook address. No base rate is given: the 2026-09-17 rates were measured with a …",
"note": "Instant (no chain call). For a definitive answer on one pool use the exit check, which actually attempts the round trip.",
"ok": true,
"permissionBits": "10000001000100",
"permissions": [
"beforeInitialize",
"afterSwap"
],
"verdict": "can rewrite swaps",
"why": "This hook runs on every swap AND may rewrite the amounts, which is the machinery that can block or tax a sell. Permissio…"
},
"ok": true,
"paid": 0.003
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/51500.jsonfor the price and payment options. - Pay. Call
GET https://apexfaucet.xyz/api/x402/arc-hook-risk. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, eip155:5042, Solana, eip155:56, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.003 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base, eip155:5042, Solana, eip155:56
- Demand
- 5 calls · 3 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.003 | 0xd334ab5151c624cada654854e2879903dc4217ed | 300s |
| exact | eip155:5042 eip155:5042 | 0x3600000000000000000000000000000000000000 | 3000 | 0xd334ab5151c624cada654854e2879903dc4217ed | 300s |
| exact | eip155:5042 eip155:5042 | 0x3600000000000000000000000000000000000000 | 3000 | 0xd334ab5151c624cada654854e2879903dc4217ed | 604900s |
| exact | Base eip155:8453 | USDC | $0.003 | 0xd334ab5151c624cada654854e2879903dc4217ed | 604900s |
| exact | Solana solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | USDC | $0.003 | HYiepS7mNCVVKoaDmZLQ6rNtMWHTQqKheM1NLGn1x8kJ | 300s |
| exact | eip155:56 eip155:56 | 0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d | 10000000000000000 | 0xd334AB5151C624cAdA654854E2879903Dc4217eD | 300s |
| exact | eip155:56 eip155:56 | 0xcE24439F2D9C6a2289F741120FE202248B666666 | 10000000000000000 | 0xd334AB5151C624cAdA654854E2879903Dc4217eD | 300s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xd334ab5151c624cada654854e2879903dc4217ed",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "3000",
"amountUsd": 0.003,
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:5042",
"payTo": "0xd334ab5151c624cada654854e2879903dc4217ed",
"asset": "0x3600000000000000000000000000000000000000",
"amount": "3000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:5042",
"payTo": "0xd334ab5151c624cada654854e2879903dc4217ed",
"asset": "0x3600000000000000000000000000000000000000",
"amount": "3000",
"maxTimeoutSeconds": 604900
},
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xd334ab5151c624cada654854e2879903dc4217ed",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "3000",
"amountUsd": 0.003,
"maxTimeoutSeconds": 604900
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "HYiepS7mNCVVKoaDmZLQ6rNtMWHTQqKheM1NLGn1x8kJ",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "3000",
"amountUsd": 0.003,
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:56",
"payTo": "0xd334AB5151C624cAdA654854E2879903Dc4217eD",
"asset": "0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d",
"amount": "10000000000000000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:56",
"payTo": "0xd334AB5151C624cAdA654854E2879903Dc4217eD",
"asset": "0xcE24439F2D9C6a2289F741120FE202248B666666",
"amount": "10000000000000000",
"maxTimeoutSeconds": 300
}
]Schemas
Output schema (JSON Schema)
{
"type": "object"
}Example shape — generated from the schema, not a captured live response
{}Examples
curl "https://apexfaucet.xyz/api/x402/arc-hook-risk"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://apexfaucet.xyz/api/x402/arc-hook-risk");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://apexfaucet.xyz/api/x402/arc-hook-risk")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- apexfaucet.xyz
- Endpoint
- https://apexfaucet.xyz/api/x402/arc-hook-risk
- Machine-readable
/resources/51500.json