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://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-balances
📌 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://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-metadata
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!)
📌 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](mailto: data-services-product@alchemy.com) or dm us on telegram @mihiralchemy.
Frequently asked questions
Why is migration from SimpleHash necessary?
SimpleHash is sunsetting its services on March 27, 2025, requiring users to migrate fungible token data to alternative providers.
What fungible token capabilities do we provide?
We provide real-time balances for ERC-20 and other tokens, token metadata (name, symbol, decimals, contract address), and multi-chain support for all major blockchains.
How do I fetch token balances?
Use a POST request to https://eth-mainnet.g.alchemy.com/v2/{apiKey} with the alchemy_getTokenBalances method, passing the wallet address in the params.
How do I get token metadata?
Use a POST JSON-RPC call to alchemy_getTokenMetadata with the contract address, which returns decimals, name, symbol, and logo information.
Do you support token pricing like SimpleHash did?
Yes, our Prices API provides real-time token prices by making GET requests to https://api.g.alchemy.com/prices/v1/{api-key}/tokens/by-symbol with token symbols as parameters.
What's the difference between SimpleHash and our price data sources?
We aggregate data from various reputable sources for a holistic view, while SimpleHash focused on DEX-sourced prices specifically.
Can I access historical token prices?
Yes, we support historical price data through POST requests to /tokens/historical with parameters for symbol, start/end times, and interval, a feature not available in SimpleHash.
Where can I get help with my migration?
Contact data-services-product@alchemy.com with any questions or feature requests, or reach out via Telegram @mihiralchemy for migration support.
Alchemy Newsletter
Be the first to know about releases
Sign up for our newsletter
Get the latest product updates and resources from Alchemy
By entering your email address, you agree to receive our marketing communications and product updates. You acknowledge that Alchemy processes the information we receive in accordance with our Privacy Notice. You can unsubscribe anytime.
Related articles

Glamsterdam: the complete guide for Ethereum developers
Glamsterdam is live on Sepolia. The complete guide to what it means for developers and how Alchemy has prepared for the network upgrade.

Which RPC provider should you build on in Tokyo?
We benchmarked five of the RPC providers serving Tokyo across five chains. Here is how they compare, and where the differences matter for latency-sensitive teams.

Architecting Solana RPC reads for industry-leading speed and reliability
Alchemy has the lowest Solana read latency: 9.21 ms, about 26% faster than the next provider.