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

WhenResultHTTPTimePrice
3 h agoPassed402385 ms$0.003