canonical: https://jentic.com/apis/algorand.org/algorand

# Algorand Algod REST API

Jentic publishes the only available OpenAPI specification for the Algod REST API, keeping it validated and agent-ready. The Algod API is the primary interface to an Algorand node, exposing 56 endpoints for reading account state, application and asset data, blocks, and ledger deltas, plus submitting transactions and running TEAL programs. It is the lowest-level on-chain interface for Algorand and is what wallets, dApps, and indexers call to interact with the network. Public infrastructure like AlgoNode hosts mainnet and testnet endpoints under the same spec.

## For AI agents

Read on-chain state and submit transactions on the Algorand blockchain - accounts, applications (smart contracts), assets, blocks, ledger deltas, and TEAL execution.

## Scope

Does not handle historical indexed queries, off-chain pricing, or wallet key management - use the Algorand Indexer, exchange APIs, or local wallet libraries for those. Use this API for direct node-level reads and transaction submission only.

## Capabilities

- Look up account balances, assets, and applications via /v2/accounts/{address}
- Inspect Algorand smart contracts (applications) including their boxes via /v2/applications/{application-id} and /v2/applications/{application-id}/boxes
- Retrieve any block by round number along with its transactions and state proofs via /v2/blocks/{round}
- Look up Algorand Standard Asset (ASA) metadata by asset ID via /v2/assets/{asset-id}
- Submit signed transactions to the network and inspect pending transactions via /v2/transactions and /v2/accounts/{address}/transactions/pending
- Compile and execute TEAL programs in dryrun mode for smart contract development
- Read ledger state deltas to track exact state changes per round via /v2/deltas/{round}

## Use cases

### Wallet balance and asset lookup

Query /v2/accounts/{address} to fetch ALGO balance, opted-in assets with quantities, and any applications the account participates in. The same endpoint returns minimum balance requirements and reward state, so wallets can show a complete portfolio view in a single call.

Example prompt: GET /v2/accounts/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA to fetch ALGO balance and asset list

### Smart contract state and box reads

Inspect Algorand applications by calling /v2/applications/{application-id} for global state and /v2/applications/{application-id}/boxes plus /v2/applications/{application-id}/box for box storage. Useful for dApp dashboards that need to render live smart contract state without running an indexer.

Example prompt: GET /v2/applications/123456 and GET /v2/applications/123456/boxes to enumerate the contract's global state and box keys

### Transaction submission and confirmation

After signing a transaction client-side, post the binary blob to the transactions endpoint and poll /v2/accounts/{address}/transactions/pending to track confirmation. Combined with /v2/blocks/{round} an agent can wait for a specific round and verify inclusion before reporting success.

Example prompt: POST the signed transaction blob to the transactions endpoint, then poll /v2/accounts/{sender}/transactions/pending until the txid disappears or appears confirmed in /v2/blocks/{round}

### Agent-driven on-chain reads in chat assistants

An AI assistant connecting through Jentic can answer questions like 'what assets does this address hold' or 'is my transaction confirmed yet' by hitting the Algod API. Jentic resolves intents to AccountInformation or pending-transactions endpoints and injects the API token from the vault.

Example prompt: Search Jentic for 'look up Algorand account', load AccountInformation, and execute with the user's address

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v2/accounts/{address} | Get account information including balance and assets |
| GET | /v2/accounts/{address}/assets | List assets held by an account |
| GET | /v2/applications/{application-id} | Get application (smart contract) state |
| GET | /v2/applications/{application-id}/boxes | List boxes for an application |
| GET | /v2/assets/{asset-id} | Get an Algorand Standard Asset by ID |
| GET | /v2/blocks/{round} | Get a block by round number |
| GET | /v2/accounts/{address}/transactions/pending | List pending transactions for an account |

## Key resources

- **Accounts** — On-chain account state including balances, assets, and applications
- **Applications** — Algorand smart contracts and their global, local, and box storage
- **Assets** — Algorand Standard Assets (ASAs) with metadata and parameters
- **Blocks** — Block headers, transactions, logs, and state proofs by round
- **Transactions** — Pending transactions per address and signed transaction submission
- **Deltas** — Ledger state deltas for precise per-round state changes

## Why Jentic

- **Setup:** Wiring the Algod REST API by hand means supplying its API key, picking a node host such as mainnet-api.algonode.cloud, and encoding account, asset, and block reads plus transaction submission yourself. Through Jentic you install once, import the Algod REST API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** The Algod REST API puts the account address and asset or application id in the URL path (/v2/accounts/{address}, /v2/applications/{application-id}, /v2/assets/{asset-id}), so a rule can pin your agent to one account or asset. You choose the operations it may call, so this set can be kept to node-level reads without transaction submission unless you add it.
- **Credential handling:** Your Algod API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get an Algorand account balance' or 'look up an asset by id', and Jentic returns the matching Algod operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Ethereum JSON-RPC API** — Equivalent node-level interface for the Ethereum blockchain
- **Alchemy API** — Multi-chain blockchain infrastructure with enhanced indexer endpoints
- **Binance API** — Centralized exchange where ALGO and ASAs trade

## FAQ

### Why is there no official OpenAPI spec for the Algod REST API?

Algorand publishes API documentation but does not host a packaged OpenAPI 3.0 specification suitable for agent tooling. Jentic generates and maintains this spec so that AI agents and developers can call the Algod REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Algorand Algod REST API use?

An API key passed in the X-Algo-API-Token header. Public providers like AlgoNode (mainnet-api.algonode.cloud) accept an empty token for anonymous read access; private nodes and paid providers issue per-account tokens. Through Jentic, the token is stored in the vault and injected at request time.

### Can I submit transactions through this API?

Yes. After signing a transaction client-side with an Algorand SDK, submit the binary blob to the transactions endpoint. Use /v2/accounts/{address}/transactions/pending to track confirmation, and /v2/blocks/{round} to verify inclusion in a specific round.

### What are the rate limits for the Algod REST API?

Limits depend on the node operator. AlgoNode publishes free-tier limits per IP and offers higher tiers via subscription. Private nodes have no shared limits. Plan for 429 responses and back off using the Retry-After header where present.

### How do I query an Algorand account through Jentic?

Search Jentic for 'look up Algorand account', load AccountInformation, and execute with the address. Jentic injects X-Algo-API-Token from the vault and calls /v2/accounts/{address} - no manual auth wiring needed.

### Does the Algod API include indexer-style queries?

No. Algod serves current and recent state directly from a node; for historical queries (transactions older than the node's catchup window, or filtered by sender, asset, etc.) use the separate Algorand Indexer API.

### Can I limit what my agent is allowed to do with the Algod REST API?

Yes. Because you run Jentic One yourself, your own rules decide which Algod operations and credentials the agent may use. The Algod REST API takes the account address, asset id, or application id in the URL path (/v2/accounts/{address}, /v2/assets/{asset-id}, /v2/applications/{application-id}), so you can pin the agent to a single account or asset. You also choose the operations it may call, so you can keep it to node-level reads and exclude transaction submission unless you add it.
