diff --git a/src/core/types/assets.ts b/src/core/types/assets.ts
index 1d3e231e1d..9fdfdc5628 100644
--- a/src/core/types/assets.ts
+++ b/src/core/types/assets.ts
@@ -40,6 +40,7 @@ export interface ParsedAsset {
isBridgeable: boolean;
networks: { [id in ChainId]?: { bridgeable: boolean } };
};
+ transferable?: boolean;
}
export interface ParsedUserAsset extends ParsedAsset {
@@ -101,6 +102,7 @@ export type AssetApiResponse = {
};
type?: AssetType;
interface?: 'erc-721' | 'erc-1155';
+ transferable?: boolean;
};
type AssetType = ProtocolType | 'nft';
diff --git a/src/core/utils/assets.ts b/src/core/utils/assets.ts
index 18f6da501d..85e33dae82 100644
--- a/src/core/utils/assets.ts
+++ b/src/core/utils/assets.ts
@@ -132,6 +132,7 @@ export function parseAsset({
networks: asset.bridging.networks,
},
}),
+ transferable: asset.transferable,
};
return parsedAsset;
diff --git a/src/entries/popup/pages/home/TokenDetails/TokenDetails.tsx b/src/entries/popup/pages/home/TokenDetails/TokenDetails.tsx
index 5ffd567f39..b5e42f9158 100644
--- a/src/entries/popup/pages/home/TokenDetails/TokenDetails.tsx
+++ b/src/entries/popup/pages/home/TokenDetails/TokenDetails.tsx
@@ -185,7 +185,9 @@ function SwapSend({
navigate(to);
};
const isBridgeable = token.bridging?.isBridgeable;
+ const isTransferable = token.transferable ?? true;
+ if (!isSwappable && !isBridgeable && !isTransferable) return null;
return (
{isSwappable && (
@@ -213,17 +215,19 @@ function SwapSend({
{i18n.t('token_details.bridge')}
)}
-
+ {isTransferable && (
+
+ )}
);
}
@@ -828,9 +832,9 @@ export function TokenDetails() {
);
})}
+
) : null}
-
)}