Core Extension SDK
Convert from standard DAS Asset to Core Asset, Collection, or Group
Last updated July 22, 2026
Summary
When you mix Core with other standards (for example Token Metadata), fetch with @metaplex-foundation/digital-asset-standard-api then convert Core items with mpl-core-das helpers.
das.dasAssetsToCoreAssets—MplCoreAsset→AssetResultdas.dasAssetToCoreCollection—MplCoreCollection→CollectionResultdas.dasAssetToCoreGroup—MplCoreGroup→GroupResult
Convert to Asset Example
das.dasAssetsToCoreAssets converts filtered MplCoreAsset DAS items into Core AssetResult values.
- Fetch with the standard DAS package.
- Filter to Core assets.
- Convert to Core asset types.
1import { publicKey } from '@metaplex-foundation/umi'
2import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
3import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'
4import { das } from '@metaplex-foundation/mpl-core-das'
5
6const umi = createUmi('<ENDPOINT>').use(dasApi())
7
8const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })
9
10const dasCoreAssets = dasAssets.items.filter((a) => a.interface === 'MplCoreAsset')
11
12const coreAssets = await das.dasAssetsToCoreAssets(umi, dasCoreAssets)
13
14console.log(coreAssets)
Convert to Collection Example
das.dasAssetToCoreCollection converts a single MplCoreCollection DAS item into a Core CollectionResult.
1import { publicKey } from '@metaplex-foundation/umi'
2import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
3import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'
4import { das } from '@metaplex-foundation/mpl-core-das'
5
6const umi = createUmi('<ENDPOINT>').use(dasApi())
7
8const dasAssets = await umi.rpc.getAssetsByOwner({ owner: publicKey('<pubkey>') })
9
10const dasCoreCollections = dasAssets.items.filter(
11 (a) => a.interface === 'MplCoreCollection'
12)
13
14const coreCollections = dasCoreCollections.map((item) =>
15 das.dasAssetToCoreCollection(item)
16)
17
18console.log(coreCollections)
Convert to Group Example
das.dasAssetToCoreGroup converts a single MplCoreGroup DAS item into a Core GroupResult.
1import { publicKey } from '@metaplex-foundation/umi'
2import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
3import { dasApi } from '@metaplex-foundation/digital-asset-standard-api'
4import { das } from '@metaplex-foundation/mpl-core-das'
5
6const umi = createUmi('<ENDPOINT>').use(dasApi())
7
8const dasGroup = await umi.rpc.getAsset(publicKey('<groupPubkey>'))
9
10const coreGroup = das.dasAssetToCoreGroup(dasGroup)
11
12console.log(coreGroup)
Notes
Conversion helpers validate the DAS interface and throw when the Core type does not match.
- Conversion helpers throw if the DAS
interfacedoes not match the expected Core type. GroupResultmembership vectors may be empty depending on the indexer — usefetchGroupV1for authoritative membership.- Prefer the dedicated Core fetch helpers (
das.getAsset,das.getCollection,das.getGroup) when you only work with Core.
