Aller au contenu
GET /v1/project

One rollup in full — TVS, Stage, risks

Essayez-le en direct

10 appels gratuits par jour — sans inscription, sans clé API. Passe par la passerelle oanor.

En-têtes personnalisés (facultatif)
api.oanor.com/l2beat-api

Ça marche. Récupérez une clé API et utilisez-la dans votre projet.

Obtenez une clé API

Extraits de code

curl "https://api.oanor.com/l2beat-api/v1/project" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/l2beat-api/v1/project", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/l2beat-api/v1/project");
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/l2beat-api/v1/project",
    headers={"x-oanor-key": "oanor_test_..."}
)

Exemple de réponse

Une réponse réelle de ce endpoint, capturée lors du dernier contrôle de santé.

{
    "data": {
        "id": "arbitrum",
        "tvs": {
            "btc_usd": 543245265.78,
            "ether_usd": 1724807716.23,
            "other_usd": 9699862828.34,
            "total_usd": 16442469376,
            "native_usd": 9084722611.21,
            "external_usd": 4732677168.14,
            "canonical_usd": 2625076754.37,
            "change_7d_pct": -12.1689,
            "stablecoin_usd": 4387955141.48
        },
        "name": "Arbitrum One",
        "slug": "arbitrum",
        "type": "layer2",
        "risks": [
            {
                "name": "Sequencer Failure",
                "value": "Self sequence",
                "sentiment": "good",
                "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 1d delay on this operation."
            },
            {
                "name": "State Validation",
                "value": "Fraud proofs (INT)",
                "sentiment": "good",
                "description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve."
            },
            {
                "name": "Data Availability",
                "value": "Onchain",
                "sentiment": "good",
                "description": "All of the data needed for proof construction is published on Ethereum L1."
            },
            {
                "name": "Exit Window",
                "value": "None",
                "sentiment": "bad",
                "description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable."
            },
            {
                "name": "Proposer Failure",
                "value": "Self propose",
                "sentiment": "good",
                "description": "Anyone can be a Proposer and propose new roots to the L1 bridge."
            }
        ],
        "stage": "Stage 1",
        "source": "L2BEAT",
        "category": "Optimistic Rollup",
        "purposes": [
            "Universal"
        ],
        "providers": [
            "Arbitrum"
        ],
        "host_chain": "Ethereum",
        "under_review": false
    },
    "meta": {
        "timestamp": "2026-06-12T01:42:43.603Z",
        "request_id": "7c7d4c17-5ea8-4bac-b5ab-e3b9aef2dcd7"
    },
    "status": "ok",
    "message": "Project retrieved successfully",
    "success": true
}