Skip to content
GET /v1/package

List the Move modules in a package with function/struct counts

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/suimodules-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

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

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "note": "Move modules published in this Sui package, each with its exposed-function and struct counts. Use /v1/module?module=<n> for a module's ABI.",
        "count": 65,
        "source": "Sui fullnode JSON-RPC",
        "modules": [
            {
                "name": "accumulator",
                "entry_count": 0,
                "public_count": 0,
                "struct_count": 3,
                "function_count": 17
            },
            {
                "name": "accumulator_metadata",
                "entry_count": 0,
                "public_count": 0,
                "struct_count": 5,
                "function_count": 0
            },
            {
                "name": "accumulator_settlement",
                "entry_count": 0,
                "public_count": 0,
                "struct_count": 1,
                "function_count": 0
            },
            {
                "name": "address",
                "entry_count": 0,
                "public_count": 9,
                "struct_count": 0,
                "function_count": 9
            },
            {
                "name": "address_alias",
                "entry_count": 4,
                "public_count": 0,
                "struct_count": 3,
                "function_count": 4
            },
            {
                "name": "authenticator_state",
                "entry_count": 0,
                "public_count": 0,
                "struct_count": 5,
                "function_count": 0
            },
            {
                "name": "bag",
                "entry_count": 0,
                "public_count": 10,
                "struct_count": 1,
                "function_count": 10
            },
            {
                "name": "balance",
                "entry_count": 0,
                "public_count": 14,
                "struct_count": 2,
                "function_count": 16
            },
            {
                "name": "bcs",
                "entry_count": 0,
                "public_count": 30,
                "struct_count": 1,
                "function_count": 30
            },
            {
                "name": "bls12381",
                "entry_count": 0,
                "public_count": 43,
                "struct_count": 5,
                "function_count": 43
            },
            {
                "name": "borrow",
                "entry_count": 0,
                "public_count": 4,
                "struct_count": 2,
                "function_count": 4
            },
            {
                "name": "clock",
                "entry_count": 0,
                "public_count": 1,
                "struct_count": 1,
                "function_count": 1
            },
            {
                "name": "coin",
                "entry_count": 7,
                "public_count": 47,
                "struct_count": 7,
                "function_count": 54
            },
            {
                "name": "c
…