Migrating Fungible Token Data from SimpleHash to Alchemy
Author: Ram Bhaskar
SimpleHash is sunsetting its services on March 27, 2025, and this guide provides a straightforward path for you to migrate Fungible Token Data from SimpleHash to Alchemy.
Please reach out to data-services-product@alchemy.com with any questions!
Use Case 1: Token Balances & Metadata
Our token APIs are a perfect replacement for SimpleHash’s fungible token endpoints.
Our fungible token APIs provide:
✅ Real-time balances for ERC-20 and other tokens
✅ Token metadata (name, symbol, decimals, contract address)
✅ Multi-chain support for all major blockchains
Docs: https://docs.alchemy.com/reference/alchemy-gettokenbalances
📌 Example Wallet: 0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7
Fetching Token Balances
SimpleHash Request (Old)
curl -X GET "<https://api.simplehash.com/api/v0/fungibles/balances?wallet_address=0x...&chain=ethereum>" \\
-H "Authorization: Bearer YOUR_SIMPLEHASH_KEY"
Alchemy Request (New)
Try it out here!
curl --request POST \\
--url <https://eth-mainnet.g.alchemy.com/v2/{apiKey}> \\
--header 'accept: application/json' \\
--header 'content-type: application/json' \\
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "alchemy_getTokenBalances",
"params": [
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
]
}
'
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"tokenBalances": [
{
"contractAddress": "0x000000000000e63d2c9c29d3edf6efb99071f92c",
"tokenBalance": "0x00000000000000000000000000000000000000000000001b1ae4d6e2ef500000"
},
{
"contractAddress": "0x00000000002514bf58ae82408e1e217f16a1dfa0",
"tokenBalance": "0x000000000000000000000000000000000000000000002a5a058fc295ed000000"
},
...
]
}
}
Fetching Token Metadata
Docs: https://docs.alchemy.com/reference/alchemy-gettokenmetadata
SimpleHash Request (Old)
curl -X GET "<https://api.simplehash.com/api/v0/token/metadata?contract_address=0x...&chain=ethereum>" \\
-H "Authorization: Bearer YOUR_SIMPLEHASH_KEY"
Alchemy Request (New - JSON-RPC)
Try it out here!
curl --request POST \\
--url <https://eth-mainnet.g.alchemy.com/v2/docs-demo> \\
--header 'accept: application/json' \\
--header 'content-type: application/json' \\
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "alchemy_getTokenMetadata",
"params": [
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
]
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"decimals": 6,
"logo": "<https://static.alchemyapi.io/images/assets/3408.png>",
"name": "USDC",
"symbol": "USDC"
}
}
Use Case 2: Token Prices (Prices API)
Our Prices API enables seamless migration from SimpleHash’s DEX price endpoint.
Understand the Differences

📌 Key Update: Alchemy aggregates data from various reputable sources, providing a holistic view of token prices. If you specifically need DEX-sourced prices, reach out! We’re actively exploring how to support this and would love your feedback.
Fetching Real-Time Prices for Multiple Tokens
SimpleHash Request (Old)
curl -X GET "<https://api.simplehash.com/api/v0/prices/fungible?token_ids=ethereum:0x>...,ethereum:0x..." \\
-H "Authorization: Bearer YOUR_SIMPLEHASH_KEY"
Alchemy Request (New)
curl --request GET \\
--url '<https://api.g.alchemy.com/prices/v1/{api-key}/tokens/by-symbol?symbols=ETH&symbols=BTC>' \\
--header 'accept: application/json'
Example Response:
{
"data": [
{
"symbol": "ETH",
"prices": [
{
"currency": "usd",
"value": "2304.5082988224",
"lastUpdatedAt": "2025-02-26T19:16:14Z"
}
]
},
{
"symbol": "BTC",
"prices": [
{
"currency": "usd",
"value": "84614.0666993729",
"lastUpdatedAt": "2025-02-26T19:16:21Z"
}
]
}
]
}
Fetching Historical Prices (🚀 New in Alchemy!)
Docs: https://docs.alchemy.com/reference/get-historical-token-prices
📌 Alchemy supports historical price data (not available in SimpleHash).
Alchemy Request:
curl --request POST \\
--url <https://api.g.alchemy.com/prices/v1/{api-key}/tokens/historical> \\
--header 'accept: application/json' \\
--header 'content-type: application/json' \\
--data '
{
"symbol": "ETH",
"startTime": "2024-01-01T00:00:00Z",
"endTime": "2024-01-31T23:59:59Z",
"interval": "1d"
}
'
Example Response:
{
"symbol": "ETH",
"currency": "usd",
"data": [
{
"value": "2279.941008569",
"timestamp": "2024-01-01T00:00:00Z"
},
{
"value": "2350.0262860085",
"timestamp": "2024-01-02T00:00:00Z"
},
{
"value": "2360.7821195891",
"timestamp": "2024-01-03T00:00:00Z"
},
...
]
}
Start Your Migration To Alchemy
We understand migrating services can be complex, but we are here to make it easy with dedicated support, feature parity, and expanded capabilities.
👋 If there’s a feature you need, let us know! Contact via this email or dm us on telegram @mihiralchemy.
Alchemy Newsletter
Be the first to know about releases
Related articles

Priority Blockspace for Humans on World Chain: Mainnet-Ready with Alchemy
World Chain launches Priority Blockspace for Humans. Verified humans now get priority transactions over bots. Deep dive into the technical implementation and collaboration behind this milestone.

Custom Gas Tokens: How to Use ERC-20 Tokens for Transaction Fees
Learn how Custom Gas Tokens let users pay transaction fees with your ERC-20 token instead of ETH. Complete guide covering implementation approaches, economic considerations, and real-world case studies.

What Is the Ethereum Pectra Upgrade? Dev Guide to 11 EIPs
The Ethereum Pectra upgrade bundles 11 EIPs, from smart wallet capabilities to staking mechanics and rollup data efficiency. Discover what changes and why it matters.