Core Extension SDK
Search Core Assets
Last updated July 22, 2026
Summary
das.searchAssets returns Core assets matching search criteria and maps them to AssetResult (Core asset type plus DAS content).
- Defaults to
interface: "MplCoreAsset"andburnt: false - Derives collection plugins unless
skipDerivePlugins: true - Supports agent filters (
isAgent,agentToken,assetSigner) when using DAS ≥ 2.1.0
Code example
In this example two filters are applied:
- The Public Key of the Owner
- The Metadata URI
jsonUri
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 assets = await das.searchAssets(umi, {
9 owner: publicKey('AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx'),
10 jsonUri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',
11})
12
13console.log(assets)
Discover registered agents
das.searchAssets({ isAgent: true }) finds Core assets with a registered agent identity and may populate is_agent, agent_token, and asset_signer when indexed.
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 agents = await das.searchAssets(umi, {
9 isAgent: true,
10 // agentToken: publicKey('<GenesisMint>'),
11 // assetSigner: publicKey('<AssetSignerPda>'),
12 skipDerivePlugins: true,
13})
14
15// When indexed: agents[i].is_agent, .agent_token, .asset_signer
16console.log(agents)
Example Response
[
{
publicKey: '8VrqN8b8Y7rqWsUXqUw7dxQw9J5UAoVyb6YDJs1mBCCz',
header: {
executable: false,
owner: 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d',
lamports: [Object],
rentEpoch: 18446744073709551616n,
exists: true
},
pluginHeader: { key: 3, pluginRegistryOffset: 179n },
royalties: {
authority: [Object],
offset: 138n,
basisPoints: 500,
creators: [Array],
ruleSet: [Object]
},
key: 1,
updateAuthority: {
type: 'Collection',
address: 'FgEKkVTSfLQ7a7BFuApypy4KaTLh65oeNRn2jZ6fiBav'
},
name: 'Number 1',
uri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',
content: {
'$schema': 'https://schema.metaplex.com/nft1.0.json',
json_uri: 'https://arweave.net/TkklLLQKiO9t9_JPmt-eH_S-VBLMcRjFcgyvIrENBzA',
files: [Array],
metadata: [Object],
links: [Object]
},
owner: 'AUtnbwWJQfYZjJ5Mc6go9UancufcAuyqUZzR1jSe4esx',
seq: { __option: 'None' }
}
]
Parameters
| Name | Required | Description |
|---|---|---|
negate | Indicates whether the search criteria should be inverted or not. | |
conditionType | Indicates whether to retrieve all ("all") or any ("any") asset that matches the search criteria. | |
interface | Defaults to MplCoreAsset. Also accepts MplCoreCollection / MplCoreGroup via dedicated helpers. | |
owner | The address of the owner. | |
ownerType | Type of ownership ["single", "token"]. | |
creator | The address of the creator. | |
creatorVerified | Indicates whether the creator must be verified or not. | |
authority | The address of the authority. | |
grouping | The grouping ["key", "value"] pair (e.g. ["collection", "<pubkey>"] or ["group", "<pubkey>"]). | |
delegate | The address of the delegate. | |
frozen | Indicates whether the asset is frozen or not. | |
supply | The supply of the asset. | |
supplyMint | The address of the supply mint. | |
compressed | Indicates whether the asset is compressed or not. | |
compressible | Indicates whether the asset is compressible or not. | |
royaltyModel | Type of royalty ["creators", "fanout", "single"]. | |
royaltyTarget | The target address for royalties. | |
royaltyAmount | The royalties amount. | |
burnt | Forced to false by the Core helper. | |
sortBy | Sorting criteria { sortBy, sortDirection }. | |
limit | The maximum number of assets to retrieve. | |
page | The index of the "page" to retrieve. | |
before | Retrieve assets before the specified ID. | |
after | Retrieve assets after the specified ID. | |
jsonUri | The value for the JSON URI. | |
name | Asset name filter when supported by the RPC. | |
isAgent | Filter by registered agent status (MPL Core only). | |
agentToken | Filter by the agent's canonical token mint (MPL Core only). | |
assetSigner | Filter by the Core Asset Signer PDA (MPL Core only). | |
skipDerivePlugins | Skip automatic collection plugin derivation. | |
displayOptions | Only showCollectionMetadata is supported for Core. |
Notes
- Technically the helper forwards standard DAS search parameters; some are rarely useful for Core (the package already constrains
interface/burnt). - Agent filters and response fields require DAS ≥ 2.1.0 and an indexer that populates agent metadata.
