Documentation Index
Fetch the complete documentation index at: https://docs.moralis.com/llms.txt
Use this file to discover all available pages before exploring further.
Migrating from QuickNode to Moralis
Moralis is a drop-in alternative to QuickNode. Moralis combines RPC node access, an enriched Web3 Data API, and real-time Streams behind a single API key — so you can replace QuickNode’s Token & NFT API add-ons, Streams, and QuickAlerts, and consolidate your RPC traffic too. This page maps the QuickNode surface to Moralis method-by-method so the swap is mostly search-and-replace.
QuickNode delivers blockchain data through RPC plus marketplace add-ons — most notably the Token and NFT API v2 bundle (the qn_* RPC methods), Streams, and QuickAlerts. Moralis delivers the same data through a first-party REST Web3 Data API and Streams, with no add-on bundles to enable per endpoint. Field names differ, but the resource shapes line up.
Quick reference: QuickNode → Moralis
Token API (v2)
| QuickNode method | Moralis equivalent |
|---|
qn_getWalletTokenBalance | Get Token Balances by Wallet |
qn_getWalletTokenTransactions | Get Wallet History |
qn_getTokenMetadataByContractAddress | Get Token Metadata |
qn_getTokenMetadataBySymbol | Search Tokens |
NFT API (v2)
| QuickNode method | Moralis equivalent |
|---|
qn_fetchNFTs | Get NFTs by Wallet |
qn_fetchNFTsByCollection / qn_getNFTsByCollection | Get NFTs by Contract |
qn_fetchNFTCollectionDetails | Get NFT Collection Metadata |
qn_verifyNFTsOwner | Get NFT Owners by Token ID |
qn_getTransfersByNFT | Get NFT Contract Transfers |
Prices, swaps & DeFi (QuickNode Marketplace add-ons)
| QuickNode capability | Moralis equivalent |
|---|
| Token price add-ons | Get Token Price · Get Multiple Token Prices |
| OHLC / candle add-ons | Get OHLCV by Pair Address |
| DEX / swap data add-ons | Get Swaps by Token Address · Pair Stats |
| DeFi position add-ons | Get Wallet DeFi Positions |
Real-time — Streams & QuickAlerts → Streams
| QuickNode feature | Moralis equivalent |
|---|
| Streams (data feeds) | EVM Streams / Solana Streams |
| QuickAlerts (webhooks) | EVM Streams — address activity + ERC20/contract filters |
| Stream management | Streams API Reference |
Solana (SVM)
| QuickNode capability | Moralis equivalent |
|---|
| Solana token balances | Get SPL Token Balances · Get Portfolio |
| Solana NFTs (DAS / add-ons) | Get NFTs by Wallet |
| Solana token metadata | Get Token Metadata |
| Solana swaps / transactions | Get Wallet Swaps |
| Real-time events | Solana Streams |
RPC
| QuickNode feature | Moralis equivalent |
|---|
| Core API JSON-RPC endpoints | Moralis RPC Nodes |
Endpoint details
Each section shows the QuickNode call, the Moralis URL(s) that replace it by chain, and a runnable example. QuickNode’s qn_* methods are JSON-RPC calls against your QuickNode endpoint URL with the relevant add-on enabled; the Moralis equivalents are plain REST calls.
Token balances by wallet
QuickNode: qn_getWalletTokenBalance (Token API v2)
| Chain | Moralis Equivalent | Moralis URL | Documentation |
|---|
| EVM | Get Native & ERC20 Balances | https://deep-index.moralis.io/api/v2.2/wallets/:address/tokens | Documentation |
| Solana | Get Portfolio (native + SPL) | https://solana-gateway.moralis.io/account/:network/:address/portfolio | Documentation |
# QuickNode (Token & NFT API v2 add-on enabled on your endpoint)
curl "https://your-endpoint.quiknode.pro/$QUICKNODE_TOKEN/" \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"qn_getWalletTokenBalance","params":[{"wallet":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"}]}'
# Moralis
curl "https://deep-index.moralis.io/api/v2.2/wallets/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/tokens?chain=eth" \
-H "X-API-Key: $MORALIS_API_KEY"
Notes: Moralis returns balance, decimals, USD price, USD value, and token metadata (symbol, name, logo, verified flag, spam flag) in one call — no separate metadata lookup.
NFTs by wallet
QuickNode: qn_fetchNFTs (NFT API v2)
| Chain | Moralis Equivalent | Moralis URL | Documentation |
|---|
| EVM | Get NFTs by Wallet | https://deep-index.moralis.io/api/v2.2/:address/nft | Documentation |
| Solana | Get NFTs by Wallet | https://solana-gateway.moralis.io/account/:network/:address/nft | Documentation |
# QuickNode
curl "https://your-endpoint.quiknode.pro/$QUICKNODE_TOKEN/" \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"qn_fetchNFTs","params":[{"wallet":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","perPage":40,"page":1}]}'
# Moralis
curl "https://deep-index.moralis.io/api/v2.2/0xd8da6bf26964af9d7eed9e03e53415d37aa96045/nft?chain=eth&format=decimal&normalizeMetadata=true&media_items=true" \
-H "X-API-Key: $MORALIS_API_KEY"
Notes: In Token & NFT API v2, qn_fetchNFTs no longer returns provenance or currentOwner (those moved to separate calls). Moralis returns normalized metadata, hosted media previews, and a possible_spam flag inline.
Verify NFT ownership
QuickNode: qn_verifyNFTsOwner
| Chain | Moralis Equivalent | Moralis URL | Documentation |
|---|
| EVM | Get NFT Owners by Token ID | https://deep-index.moralis.io/api/v2.2/nft/:address/:token_id/owners | Documentation |
Notes: qn_verifyNFTsOwner confirms a wallet holds specific tokens; the Moralis owners-by-token-id endpoint returns the owner set for a token, and Get NFTs by Wallet can be filtered by contract for the inverse check.
NFT transfers
QuickNode: qn_getTransfersByNFT
| Chain | Moralis Equivalent | Moralis URL | Documentation |
|---|
| EVM | Get NFT Contract Transfers | https://deep-index.moralis.io/api/v2.2/nft/:address/transfers | Documentation |
| EVM | Get NFT Trades by Token | https://deep-index.moralis.io/api/v2.2/nft/:address/:token_id/trades | Documentation |
Token & wallet transactions
QuickNode: qn_getWalletTokenTransactions
| Chain | Moralis Equivalent | Moralis URL | Documentation |
|---|
| EVM | Get Wallet History | https://deep-index.moralis.io/api/v2.2/wallets/:address/history | Documentation |
| EVM | Get Decoded Wallet Transactions | https://deep-index.moralis.io/api/v2.2/wallets/:address/history | Documentation |
Notes: Moralis Wallet History returns native, ERC20, NFT, swap, and contract activity as one decoded, chronological feed — broader than the token-only view from qn_getWalletTokenTransactions.
Streams & QuickAlerts → Moralis Streams
QuickNode: Streams (data feeds) and QuickAlerts (webhooks)
| Feature | Moralis Equivalent | Documentation |
|---|
| Address activity events | EVM Streams | Documentation |
| Contract / log events | EVM Streams | Documentation |
| Solana account events | Solana Streams | Documentation |
| Stream management API | Streams API Reference | Documentation |
# Moralis Streams — create one stream, then attach many addresses to it
curl -X POST "https://api.moralis-streams.com/streams/evm" \
-H "X-API-Key: $MORALIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"webhookUrl": "https://your.app/webhooks/moralis",
"description": "Wallet activity",
"tag": "wallet-activity",
"chainIds": ["0x1", "0x2105"],
"includeNativeTxs": true,
"includeContractLogs": true
}'
Notes: Both QuickNode Streams and Moralis Streams deliver real-time on-chain data over HTTP webhooks with retries and address management. Moralis Streams adds ABI-decoded contract events and smart-filter expressions on top of the address-activity feed.
QuickNode Functions (serverless compute) and Key-Value Store have no direct Moralis equivalent — Moralis is a data and streaming platform, not a compute host. Keep that logic in your own backend or a function host, and call Moralis APIs from it.
Chain coverage
QuickNode supports 75+ chains including EVM networks, Solana, and Bitcoin. Moralis covers a comparable footprint across EVM, Solana, and Bitcoin — see Supported Chains. Before cutover, diff the chains you’ve configured in QuickNode against the supported list and flag any gaps.
Migration checklist
- Get an API key — Get your API key.
- Map your call sites — replace each
qn_* method with the REST equivalent above. Field names differ; most teams write a thin response adapter.
- Drop the add-on bundles — capabilities that required enabling the Token & NFT API v2 (or other Marketplace add-ons) are first-party in Moralis, available on one key.
- Move Streams / QuickAlerts to Moralis Streams — create one Stream per event class and attach addresses dynamically.
- Verify chain coverage — diff your QuickNode chain configuration against Supported Chains.
- (Optional) Move RPC traffic — point your JSON-RPC calls at Moralis RPC Nodes.
Beyond QuickNode: what Moralis adds
Once migrated, teams commonly adopt Moralis endpoints that QuickNode covers only via add-ons or not at all:
Need help migrating off QuickNode?
If you’re moving a production QuickNode workload to Moralis, the support team can help size the migration and review your call patterns — reach out via moralis.com.