canonical: https://jentic.com/apis/ankr.com/ankr

# Ankr Advanced API

Jentic publishes the only available OpenAPI specification for Ankr Advanced API, keeping it validated and agent-ready. Ankr Advanced API is a multichain JSON-RPC service that exposes account balances, blockchain stats, transaction history, NFT ownership and metadata, token holders, and on-chain logs across more than thirty supported networks behind a single endpoint. Each operation is invoked via the ankr_* method namespace (for example ankr_getAccountBalance, ankr_getNFTsByOwner) and returns normalised JSON across chains so agents do not have to learn each network's native RPC. Authentication is via an API key embedded in the multichain URL path.

## For AI agents

Query account balances, NFT holdings, transactions, and on-chain logs across 30+ blockchains through Ankr's multichain JSON-RPC. Returns normalised data so agents can answer wallet questions without per-chain RPC code.

## Scope

Does not broadcast transactions, sign messages, or run smart contract calls - use for read-only multichain balance, NFT, token, and log queries only.

## Capabilities

- Look up an account's token and native-coin balances across multiple blockchains in a single call
- List all NFTs owned by a wallet with metadata and collection info
- Retrieve NFT transfer history and current holders for a given collection
- Fetch token holder distributions and supply metrics for ERC-20 contracts
- Pull on-chain event logs and internal transactions filtered by block range
- Read multichain blockchain stats including block height, block time, and gas metrics

## Use cases

### Multichain Wallet Dashboard

Build a portfolio dashboard that shows native and token balances, NFT holdings, and recent activity for a user's wallets across Ethereum, BSC, Polygon, and other Ankr-supported chains. A single Ankr Advanced API key covers all networks via the multichain URL, so the agent issues one ankr_getAccountBalance call instead of spinning up an RPC connection per chain. Setup is short because each operation returns the same normalised JSON structure regardless of source network.

Example prompt: Call ankr_getAccountBalance via POST /?ankr_getAccountBalance with the user's wallet and a list of chains, then format the returned token balances into a dashboard view

### NFT Collection Analytics

Monitor an NFT collection by combining ankr_getNFTHolders, ankr_getNFTsByOwner, and ankr_getNftTransfers to surface ownership concentration, recent flips, and per-wallet holdings. Agents use this for floor-watch alerts, whale tracking, or due-diligence workflows where the underlying chain (Ethereum, Polygon, BSC) should not change the calling code. Ankr's normalised metadata also reduces the post-processing required compared to raw chain RPCs.

Example prompt: Call ankr_getNFTHolders with the collection contract address, then ankr_getNftTransfers for the last 24 hours and surface the top 10 buying wallets

### On-Chain Activity Monitoring

Watch a smart contract's events by polling ankr_getLogs with a topic filter and block range, then use ankr_getInternalTransactionsByBlockNumber to expand into internal-call detail when an event triggers further on-chain activity. This avoids running a self-hosted indexer for low-to-medium volume monitoring use cases such as alerting on governance votes, liquidations, or DAO treasury movements.

Example prompt: Call ankr_getLogs with the contract address and the Transfer topic for the last 1000 blocks, then drill into ankr_getInternalTransactionsByParentHash for any transaction over a threshold value

### AI Agent Wallet Inspector via Jentic

An AI agent answering 'what's in this wallet?' style questions uses Ankr Advanced API through Jentic to fetch balances, NFTs, and recent transfers without managing the multichain key directly. Jentic's intent search routes the agent to the correct ankr_* method with its parameter schema, and the API key is loaded from the vault at execution time so it never enters the agent's tool context.

Example prompt: Search Jentic for 'get NFTs owned by a wallet', load ankr_getNFTsByOwner, and execute with the user-supplied address and chain list to return a normalised NFT list

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/?ankr_getAccountBalance` | Retrieve native and token balances for a wallet across chains |
| POST | `/?ankr_getNFTsByOwner` | List all NFTs owned by a given wallet |
| POST | `/?ankr_getNFTHolders` | List holders of a given NFT collection |
| POST | `/?ankr_getNftTransfers` | Retrieve NFT transfer history for a wallet or collection |
| POST | `/?ankr_getLogs` | Fetch on-chain event logs filtered by topic and block range |
| POST | `/?ankr_getBlockchainStats` | Return per-chain block height, block time, and gas stats |
| POST | `/?ankr_getNFTMetadata` | Retrieve metadata for a single NFT token |
| POST | `/?ankr_getInternalTransactionsByParentHash` | List internal transactions for a given parent transaction |

## Key resources

- **Query API** — Account balances, blockchain stats, transactions, and logs across supported chains
- **Token API** — ERC-20 token holders, currencies, and price/supply metrics
- **NFT API** — NFT ownership, metadata, holders, and transfer history
- **Early Access** — Preview methods for newer or experimental Ankr operations

## Why Jentic

- **Setup:** Wiring the Ankr Advanced API by hand means embedding your API key in the multichain RPC URL and hand-building JSON-RPC method envelopes yourself. Through Jentic you install once, import Ankr Advanced from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Ankr selects behaviour by an ankr_ method name rather than resource ids in the path, so scope the agent to the operations it needs, such as ankr_getAccountBalance and ankr_getNFTsByOwner. Because every method here is a read-only query, you scope the agent to the reads it needs.
- **Credential handling:** Your Ankr API key is stored once, encrypted, by your own Jentic One instance, which builds the key-embedded multichain URL at execution time. The URL with the key never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get NFTs owned by a wallet' or 'get an account balance', and Jentic returns the matching ankr_ method with its input schema so the agent calls the right method without memorising names from the reference docs.

## Related APIs

- **Alchemy API** — Alchemy is a competing multichain RPC provider with its own enhanced NFT and token APIs.
- **Covalent GoldRush API** — Covalent GoldRush provides multichain wallet, token, and NFT data through a unified REST surface.
- **QuickNode API** — QuickNode provides standard JSON-RPC nodes for transaction broadcasting that pair with Ankr's enhanced reads.

## FAQ

### Why is there no official OpenAPI spec for Ankr Advanced API?

Ankr does not publish an OpenAPI specification - the Advanced API is documented as JSON-RPC methods. Jentic generates and maintains this spec so that AI agents and developers can call Ankr 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 Ankr Advanced API use?

Ankr uses an API key embedded directly in the multichain RPC URL path (https://rpc.ankr.com/multichain/{API_KEY}). There is no separate Authorization header. Through Jentic the API key is stored in the encrypted vault and the URL is reconstructed at execution time so the key never enters the agent's prompt context.

### Can I query NFTs across multiple chains with the Ankr Advanced API?

Yes. ankr_getNFTsByOwner, ankr_getNFTHolders, and ankr_getNftTransfers accept a blockchain list parameter, so a single call can span Ethereum, Polygon, BSC, and other supported networks and return normalised metadata.

### What are the rate limits for the Ankr Advanced API?

The OpenAPI spec does not declare explicit rate limits. Ankr enforces per-plan throughput on the live service, so check your Ankr dashboard for the exact RPS for your tier and back off on 429 responses.

### How do I look up a wallet's NFTs with the Ankr Advanced API through Jentic?

Run pip install jentic, then search Jentic for 'get NFTs owned by a wallet'. Jentic returns ankr_getNFTsByOwner with its parameter schema. Execute the call with the wallet address and the list of chains you want covered.

### Does the Ankr Advanced API support sending transactions?

No. The Advanced API surface in this spec is read-only - balances, transfers, logs, and NFT data. Transaction broadcasting is handled by Ankr's standard JSON-RPC node endpoints, not by the ankr_* method namespace covered here.

### Can I limit what my agent is allowed to do with the Ankr Advanced API?

Yes. Because you run Jentic One yourself and your own rules decide which operations and credentials the agent may use, you scope the agent to only the ankr_ methods it needs, such as ankr_getAccountBalance or ankr_getNFTsByOwner. Ankr selects behaviour by the method name rather than by resource ids in the path, and every method in this API is a read-only query, so you grant the agent just the specific reads it requires. Any ankr_ method you do not allow, such as ankr_getLogs or ankr_getNFTHolders, stays off limits to the agent.
