80trust / 100
Proxy Implementation
by Oblique Markets in Onchain & crypto
x402 APIPassing, checked 3 h ago
Use when an agent asks if a contract is an upgradeable proxy and where its code is. Returns the standard (EIP-1967, beacon, UUPS, minimal, legacy, Safe, none), implementation, admin, beacon, slots and block read on Base, Ethereum, Optimism, Arbitrum or Polygon; 4 extra slots decoded. $0.003.
GET https://api.oblique.markets/api/v1/paid/proxy-implementation
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 385 ms typical, 385 ms slowest 5%
- Last check
- 3 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://api.oblique.markets/api/v1/paid/proxy-implementation?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.03:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.oblique.markets%2Fapi%2Fv1%2Fpaid%2Fproxy-implementation
const res = await pay("https://api.oblique.markets/api/v1/paid/proxy-implementation?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913");
console.log(await res.json());Example input
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}Example output
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"admin": null,
"beacon": null,
"block_number": 40203311,
"block_tag": "latest",
"chain": "base",
"chain_id": 8453,
"extra_slots": [
{
"as_address": null,
"as_bool": false,
"as_uint256": "0",
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000",
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
"freshness": {
"cache": "miss",
"cache_age_seconds": 0,
"served_at": "2026-09-12T01:30:00.120Z",
"ttl_seconds": 30
},
"implementation": "0x2Ce6311ddAE708829bc0784C967b7d77D19FD779",
"implementation_has_code": true,
"implementation_name": "FiatTokenV2_2",
"is_contract": true,
"is_proxy": true,
"proxy_name": "FiatTokenProxy",
"read_at": "2026-09-12T01:30:00.000Z",
"receipt": {
"payer": "0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea",
"payment_network": "eip155:8453",
"sku": "proxy-implementation"
},
"rpc": {
"calls": 9,
"endpoint_class": "public",
"hosts": [
"mainnet.base.org"
]
},
"slots_read": [
{
"label": "eip1967.implementation",
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000",
"slot": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"
},
{
"label": "eip1967.admin",
"raw": "0x0000000000000000000000000000000000000000000000000000000000000000",
"slot": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"
}
],
"source": "public-rpc+explorer",
"standard": "oz-legacy"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 3 h ago | Passed | 402 | 385 ms | $0.003 |