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.dasAssetsToCoreAssetsMplCoreAssetAssetResult
  • das.dasAssetToCoreCollectionMplCoreCollectionCollectionResult
  • das.dasAssetToCoreGroupMplCoreGroupGroupResult

Convert to Asset Example

das.dasAssetsToCoreAssets converts filtered MplCoreAsset DAS items into Core AssetResult values.

  1. Fetch with the standard DAS package.
  2. Filter to Core assets.
  3. 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 interface does not match the expected Core type.
  • GroupResult membership vectors may be empty depending on the indexer — use fetchGroupV1 for authoritative membership.
  • Prefer the dedicated Core fetch helpers (das.getAsset, das.getCollection, das.getGroup) when you only work with Core.