Migrating Fungible Token Data from SimpleHash to Alchemy
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.
Related articles

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.

Embedded Wallets: Externally Owned Wallets (EOAs) vs. Smart Contract Wallets vs. Smart EOAs (7702)
Explore the embedded wallet landscape: comparing EOAs, Smart Contract Wallets, and Smart EOAs (7702) across simplicity, security, UX, and future-readiness. Find the right one for your app.

Migrating NFT data from SimpleHash to Alchemy
This guide provides step-by-step examples for you to migrate NFT Data from SimpleHash to Alchemy.
