Repository: alchemyplatform/alchemy-sdk-js
Pull request #506 (2025-05-14 15:46:00)

Add missing originalUrl from NFT animation type
This looks like an omission since the API returns `originalUrl` as part of animations
![Screenshot from 2025-05-14 17-45-24](https://github.com/user-attachments/assets/a89fdf09-fa03-41a1-920f-b7195d664055)



Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 99406bf6..38307e02 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,12 @@
 
 ### Minor Changes
 
+## 3.5.9
+
+### Minor Changes
+
+- Added Anime Mainnet and Sepolia, Story Mainnet and Aeneid, Megaeth Testnet
+
 ## 3.5.8
 
 ### Minor Changes
diff --git a/README.md b/README.md
index b41bbe1c..cf8c6091 100644
--- a/README.md
+++ b/README.md
@@ -60,6 +60,9 @@ The SDK currently supports the following chains (chains with '(d)' after are dep
 - **Gensyn**: Testnet
 - **Superseed**: Mainnet, Sepolia
 - **Tea**: Sepolia
+- **Anime**: Mainnet, Sepolia
+- **Story**: Mainnet, Aeneid
+- **Megaeth**: Testnet
 
 You can find per-method documentation of the Alchemy SDK endpoints at the [Alchemy Docs linked in the sidebar](https://docs.alchemy.com/reference/alchemy-sdk-quickstart).
 
diff --git a/package.json b/package.json
index 82127e3e..1e82d860 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "alchemy-sdk",
-  "version": "3.5.8",
+  "version": "3.5.9",
   "description": "Extended Ethers.js SDK for Alchemy APIs",
   "author": "Alchemy",
   "license": "MIT",
diff --git a/src/internal/prices-api.ts b/src/internal/prices-api.ts
index 74e904b6..1b96da5d 100644
--- a/src/internal/prices-api.ts
+++ b/src/internal/prices-api.ts
@@ -13,8 +13,6 @@ import { AlchemyApiType } from '../util/const';
 import { nullsToUndefined } from '../util/util';
 import { requestHttpWithBackoff } from './dispatch';
 
-const PRICES_BASE_URL = 'https://api.g.alchemy.com/prices/v1/alch-demo';
-
 export async function getTokenPriceByAddress(
   config: AlchemyConfig,
   addresses: TokenAddressRequest[],
@@ -31,8 +29,7 @@ export async function getTokenPriceByAddress(
     {},
     {
       method: 'POST',
-      data: { addresses },
-      baseURL: PRICES_BASE_URL
+      data: { addresses }
     }
   );
   return nullsToUndefined<GetTokenPriceByAddressResponse>(response);
@@ -97,8 +94,7 @@ export async function getHistoricalPriceBySymbol(
         startTime,
         endTime,
         interval
-      },
-      baseURL: PRICES_BASE_URL
+      }
     }
   );
   return nullsToUndefined<HistoricalPriceBySymbolResponse>(response);
@@ -130,8 +126,7 @@ export async function getHistoricalPriceByAddress(
         startTime,
         endTime,
         interval
-      },
-      baseURL: PRICES_BASE_URL
+      }
     }
   );
   return nullsToUndefined<HistoricalPriceByAddressResponse>(response);
diff --git a/src/types/nft-types.ts b/src/types/nft-types.ts
index e798273a..74322c84 100644
--- a/src/types/nft-types.ts
+++ b/src/types/nft-types.ts
@@ -1267,6 +1267,8 @@ export interface Nft {
   animation?: {
     /** URL of the animation stored in Alchemy's cache. */
     cachedUrl?: string;
+    /** The original URL of the animation as stored on the contract. */
+    originalUrl?: string;
     /** The type of the animation media. */
     contentType?: string;
     /** The size of the animation in bytes. */
diff --git a/src/types/types.ts b/src/types/types.ts
index 8e1f8d7d..f577be91 100644
--- a/src/types/types.ts
+++ b/src/types/types.ts
@@ -206,7 +206,12 @@ export enum Network {
   GENSYN_TESTNET = 'gensyn-testnet',
   SUPERSEED_MAINNET = 'superseed-mainnet',
   SUPERSEED_SEPOLIA = 'superseed-sepolia',
-  TEA_SEPOLIA = 'tea-sepolia'
+  TEA_SEPOLIA = 'tea-sepolia',
+  ANIME_MAINNET = 'anime-mainnet',
+  ANIME_SEPOLIA = 'anime-sepolia',
+  STORY_MAINNET = 'story-mainnet',
+  STORY_AENEID = 'story-aeneid',
+  MEGAETH_TESTNET = 'megaeth-testnet'
 }
 
 /** Token Types for the `getTokenBalances()` endpoint. */
diff --git a/src/util/const.ts b/src/util/const.ts
index 91b02b3e..0d7c93dc 100644
--- a/src/util/const.ts
+++ b/src/util/const.ts
@@ -144,7 +144,12 @@ export const EthersNetwork = {
   [Network.GENSYN_TESTNET]: 'gensyn-testnet',
   [Network.SUPERSEED_MAINNET]: 'superseed-mainnet',
   [Network.SUPERSEED_SEPOLIA]: 'superseed-sepolia',
-  [Network.TEA_SEPOLIA]: 'tea-sepolia'
+  [Network.TEA_SEPOLIA]: 'tea-sepolia',
+  [Network.ANIME_MAINNET]: 'anime-mainnet',
+  [Network.ANIME_SEPOLIA]: 'anime-sepolia',
+  [Network.STORY_MAINNET]: 'story-mainnet',
+  [Network.STORY_AENEID]: 'story-aeneid',
+  [Network.MEGAETH_TESTNET]: 'megaeth-testnet'
 };
 
 /**
@@ -520,6 +525,26 @@ export const CustomNetworks: { [key: string]: NetworkFromEthers } = {
   'tea-sepolia': {
     chainId: 10218,
     name: 'tea-sepolia'
+  },
+  'anime-mainnet': {
+    chainId: 69000,
+    name: 'anime-mainnet'
+  },
+  'anime-sepolia': {
+    chainId: 0x1af4,
+    name: 'anime-sepolia'
+  },
+  'story-mainnet': {
+    chainId: 0x5ea,
+    name: 'story-mainnet'
+  },
+  'story-aeneid': {
+    chainId: 0x523,
+    name: 'story-aeneid'
+  },
+  'megaeth-testnet': {
+    chainId: 0x18c6,
+    name: 'megaeth-testnet'
   }
 };
 
diff --git a/src/version.ts b/src/version.ts
index 42317c87..fa6c7fd4 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1,3 +1,3 @@
 // This file is autogenerated by injectVersion.js. Any changes will be
 // overwritten on commit!
-export const VERSION = '3.5.8';
+export const VERSION = '3.5.9';


Test patch:
diff --git a/test/integration/prices.test.ts b/test/integration/prices.test.ts
index da055081..2bef6bf3 100644
--- a/test/integration/prices.test.ts
+++ b/test/integration/prices.test.ts
@@ -63,7 +63,7 @@ describe('Prices API Integration Tests', () => {
       const addresses: TokenAddressRequest[] = [
         {
           network: Network.ETH_MAINNET,
-          address: '0x0000000000000000000000000000000000000000'
+          address: '0x00000000000000000000000000000000000000xyz'
         }
       ];