# Algorand App API
> Inspect Algorand stateful smart contracts (applications) live from the public Algonode indexer — no key. Where account- and asset-readers cover ALGO and ASAs, this covers the layer-1 application logic: look up any application by id for its creator, its decoded global state (the on-chain key/value store the contract actually keeps), the size of its approval and clear programs, its global and local state schemas and extra program pages; list every application an account has created; or browse the application space. The smart-contract layer for Algorand wallets, explorers, dApp builders and auditors who need to read exactly what a contract stores and who controls it. Reads straight from the indexer; short cache only.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/algorandapp-api/..."
```

## Pricing
- **Free** (Free) — 6,000 calls/Mo, 3 req/s
- **Starter** ($10/Mo) — 124,500 calls/Mo, 8 req/s
- **Pro** ($36/Mo) — 743,000 calls/Mo, 20 req/s
- **Business** ($102/Mo) — 4,690,000 calls/Mo, 50 req/s

## Endpoints

### Apps

#### `GET /v1/app` — One application: creator, decoded global state, programs, schemas

**Parameters:**
- `id` (query, required, string) — Application id Example: `1002541853`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapp-api/v1/app?id=1002541853"
```

**Response:**
```json
{
    "data": {
        "id": 1002541853,
        "note": "Algorand stateful smart contract: its creator, decoded global state (the contract's on-chain key/value store), program sizes and state schemas. global_state values are decoded as uint or printable text / hex bytes.",
        "source": "Algonode indexer",
        "creator": "4HIR5U2J4FCIEAG6WMBJ4BS3VBTT6S7PLXXERVR2SQIOKZGZZZF2ZV27U4",
        "deleted": false,
        "global_state": [
            {
                "key": "fee_manager",
                "type": "bytes",
                "value": "0xe1d11ed349e1448200deb3029e065ba8673f4bef5dee48d63a9410e564d9ce4b"
            },
            {
                "key": "fee_setter",
                "type": "bytes",
                "value": "0xce4d03aa42bebc0165b9947f850c39b96cc487a9d7bf78f168d5b2fdcdb255ef"
            },
            {
                "key": "fee_collector",
                "type": "bytes",
                "value": "0x15a8068d0ba40347267fd6a83d7765d906b1391c2ba8e20995d4ada3c84fe932"
            }
        ],
        "created_at_round": 26051045,
        "clear_program_size": 8,
        "global_state_count": 3,
        "local_state_schema": {
            "num-uint": 12,
            "num-byte-slice": 2
        },
        "extra_program_pages": 3,
        "global_state_schema": {
            "num-uint": 0,
            "num-byte-slice": 3
        },
        "approval_program_size": 10308
    },
    "meta": {
        "timestamp": "2026-06-14T08:03:51.305Z",
       
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/apps` — Browse the application space, paginated

**Parameters:**
- `limit` (query, optional, string) — Page size (1-100) Example: `20`
- `next` (query, optional, string) — Next-token for pagination

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapp-api/v1/apps?limit=20"
```

**Response:**
```json
{
    "data": {
        "next": "84238828",
        "note": "Browse the Algorand application space, paginated. Pass the returned next token to page forward.",
        "count": 20,
        "source": "Algonode indexer",
        "applications": [
            {
                "id": 60553466,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "global_state_count": 11
            },
            {
                "id": 60656593,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "global_state_count": 21
            },
            {
                "id": 60699511,
                "creator": "WEXK776EPAM56PTNEOQZPO2U5JRZPT4WV5IKEBFBYPW4BGQ3SVUPFAQB4M",
                "deleted": false,
                "global_state_count": 24
            },
            {
                "id": 80393163,
                "creator": "24YD4UNKUGVNGZ6QGXWIUPQ5L456FBH7LB5L6KFGQJ65YLQHXX4CQNPCZA",
                "deleted": false,
                "global_state_count": 15
            },
            {
                "id": 80441171,
                "creator": "24YD4UNKUGVNGZ6QGXWIUPQ5L456FBH7LB5L6KFGQJ65YLQHXX4CQNPCZA",
                "deleted": false,
                "global_state_count": 15
            },
            {
                "id": 80441567,
                "creator": "24YD4UNKUGVNGZ6QGXWIUPQ5L456FBH7LB5L6KFGQJ65YLQHXX4CQNPCZ
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/created` — Applications created by an account

**Parameters:**
- `address` (query, required, string) — Algorand account address (58-char base32) Example: `4HIR5U2J4FCIEAG6WMBJ4BS3VBTT6S7PLXXERVR2SQIOKZGZZZF2ZV27U4`
- `limit` (query, optional, string) — Max results (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapp-api/v1/created?address=4HIR5U2J4FCIEAG6WMBJ4BS3VBTT6S7PLXXERVR2SQIOKZGZZZF2ZV27U4&limit=20"
```

**Response:**
```json
{
    "data": {
        "next": "1385499515",
        "note": "Every application this account has created, with each one's decoded global state and schema.",
        "count": 3,
        "source": "Algonode indexer",
        "address": "4HIR5U2J4FCIEAG6WMBJ4BS3VBTT6S7PLXXERVR2SQIOKZGZZZF2ZV27U4",
        "applications": [
            {
                "id": 1002541853,
                "creator": "4HIR5U2J4FCIEAG6WMBJ4BS3VBTT6S7PLXXERVR2SQIOKZGZZZF2ZV27U4",
                "deleted": false,
                "global_state": [
                    {
                        "key": "fee_manager",
                        "type": "bytes",
                        "value": "0xe1d11ed349e1448200deb3029e065ba8673f4bef5dee48d63a9410e564d9ce4b"
                    },
                    {
                        "key": "fee_setter",
                        "type": "bytes",
                        "value": "0xce4d03aa42bebc0165b9947f850c39b96cc487a9d7bf78f168d5b2fdcdb255ef"
                    },
                    {
                        "key": "fee_collector",
                        "type": "bytes",
                        "value": "0x15a8068d0ba40347267fd6a83d7765d906b1391c2ba8e20995d4ada3c84fe932"
                    }
                ],
                "created_at_round": 26051045,
                "clear_program_size": 8,
                "global_state_count": 3,
                "local_state_schema": {
                    "num-uint": 12,
                    "num-byte-slice": 2
       
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata & live sample

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/algorandapp-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "sample": {
            "app": 1002541853,
            "global_state": 3
        },
        "source": "public Algonode indexer (mainnet-idx.algonode.cloud), keyless",
        "service": "algorandapp-api",
        "endpoints": {
            "GET /v1/app": "One application: creator, decoded global state, programs, schemas (id=1002541853).",
            "GET /v1/apps": "Browse the application space, paginated (limit, next).",
            "GET /v1/meta": "This document.",
            "GET /v1/created": "Applications created by an account (address=...)."
        },
        "description": "Inspect Algorand stateful smart contracts (applications) live from the public Algonode indexer: look up any application by id for its creator, decoded global state, program sizes and schemas; list the applications an account has created; or browse the application space. The smart-contract layer for Algorand wallets, explorers and auditors. Live, short cache only.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-14T08:03:51.730Z",
        "request_id": "2cb8cc82-9d3c-43e5-a523-17067b491be1"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/algorandapp-api
OpenAPI spec: https://www.oanor.com/api/algorandapp-api/openapi.json
