diff --git a/src/wasm/mod.rs b/src/wasm/mod.rs
index 6fbfa7f..0fe80de 100644
--- a/src/wasm/mod.rs
+++ b/src/wasm/mod.rs
@@ -635,7 +635,10 @@ impl ToriiClient {
             .collect::<Result<Vec<_>, _>>()
             .map_err(|e| JsValue::from(format!("failed to parse contract addresses: {e}")))?;
 
-        let token_ids = token_ids.into_iter().map(|t| U256::from_be_hex(&t)).collect::<Vec<_>>();
+        let token_ids = token_ids
+            .into_iter()
+            .map(|t| U256::from_be_hex(t.trim_start_matches("0x")))
+            .collect::<Vec<_>>();
 
         let tokens = self
             .inner
@@ -673,7 +676,10 @@ impl ToriiClient {
             })
             .collect::<Result<Vec<_>, _>>()?;
 
-        let token_ids = token_ids.into_iter().map(|t| U256::from_be_hex(&t)).collect::<Vec<_>>();
+        let token_ids = token_ids
+            .into_iter()
+            .map(|t| U256::from_be_hex(t.trim_start_matches("0x")))
+            .collect::<Vec<_>>();
 
         let subscription_id = Arc::new(AtomicU64::new(0));
         let (trigger, tripwire) = Tripwire::new();
@@ -746,7 +752,10 @@ impl ToriiClient {
             .collect::<Result<Vec<_>, _>>()
             .map_err(|e| JsValue::from(format!("failed to parse contract addresses: {e}")))?;
 
-        let token_ids = token_ids.into_iter().map(|t| U256::from_be_hex(&t)).collect::<Vec<_>>();
+        let token_ids = token_ids
+            .into_iter()
+            .map(|t| U256::from_be_hex(t.trim_start_matches("0x")))
+            .collect::<Vec<_>>();
 
         let token_balances = self
             .inner
@@ -1166,7 +1175,10 @@ impl ToriiClient {
             })
             .collect::<Result<Vec<_>, _>>()?;
 
-        let token_ids = token_ids.into_iter().map(|t| U256::from_be_hex(&t)).collect::<Vec<_>>();
+        let token_ids = token_ids
+            .into_iter()
+            .map(|t| U256::from_be_hex(t.trim_start_matches("0x")))
+            .collect::<Vec<_>>();
 
         let subscription_id = Arc::new(AtomicU64::new(0));
         let (trigger, tripwire) = Tripwire::new();
@@ -1251,7 +1263,10 @@ impl ToriiClient {
             })
             .collect::<Result<Vec<_>, _>>()?;
 
-        let token_ids = token_ids.into_iter().map(|t| U256::from_be_hex(&t)).collect::<Vec<_>>();
+        let token_ids = token_ids
+            .into_iter()
+            .map(|t| U256::from_be_hex(t.trim_start_matches("0x")))
+            .collect::<Vec<_>>();
 
         self.inner
             .update_token_balance_subscription(