From 769afcf3248afb87b1fb972e8fe5cff3f72e3ddd Mon Sep 17 00:00:00 2001 From: dslovinsky Date: Thu, 12 Feb 2026 19:25:40 -0500 Subject: [PATCH 1/3] feat: use object-style params for Solana DAS endpoints Add `paramStructure: by-name` to all 12 DAS methods so the rendered docs produce `params: { ... }` instead of `params: [...]`. - Add missing primary fields (id, ids, ownerAddress, mint, etc.) and `required` arrays to config schemas in asset.yaml - Create GetAssetProofParams / GetAssetProofsParams schemas - Collapse multi-param methods into a single config param - Update examples to use full object values Co-Authored-By: Claude --- .../alchemy/solana-das/solana-das.yaml | 152 +++++++----------- .../chains/_components/solana/asset.yaml | 42 +++++ 2 files changed, 101 insertions(+), 93 deletions(-) diff --git a/src/openrpc/alchemy/solana-das/solana-das.yaml b/src/openrpc/alchemy/solana-das/solana-das.yaml index 5cfb9aa83..55015ed11 100644 --- a/src/openrpc/alchemy/solana-das/solana-das.yaml +++ b/src/openrpc/alchemy/solana-das/solana-das.yaml @@ -13,21 +13,17 @@ servers: methods: - name: getAsset description: Returns information about a single digital asset. + paramStructure: by-name params: - - name: Asset ID - required: true - description: The ID of the asset to retrieve. - schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId - name: Configuration - required: false - description: Optional configuration object for display formatting. + required: true + description: Configuration object with asset ID and display options. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetConfig examples: - name: getAsset example params: - - name: Asset ID + - name: Configuration value: id: "F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk" result: @@ -38,26 +34,21 @@ methods: - name: getAssets description: Returns information about multiple digital assets. + paramStructure: by-name params: - - name: Asset IDs - required: true - description: An array of asset IDs to retrieve. - schema: - type: array - items: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId - name: Configuration - required: false - description: Optional configuration object for sorting and pagination. + required: true + description: Configuration object with asset IDs, sorting, and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsConfig examples: - name: getAssets example params: - - name: Asset IDs + - name: Configuration value: - - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" - - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" + ids: + - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" result: name: Assets list description: Returns detailed information about the specified digital assets. @@ -66,17 +57,19 @@ methods: - name: getAssetProof description: Returns the merkle proof for a compressed digital asset. + paramStructure: by-name params: - - name: Asset ID + - name: Configuration required: true - description: The ID of the compressed asset to get proof for. + description: Configuration object with the compressed asset ID. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetProofParams examples: - name: getAssetProof example params: - - name: Asset ID - value: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - name: Configuration + value: + id: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" result: name: Asset proof description: Returns the merkle proof for the specified compressed asset. @@ -85,21 +78,21 @@ methods: - name: getAssetProofs description: Returns merkle proofs for multiple compressed digital assets. + paramStructure: by-name params: - - name: Asset IDs + - name: Configuration required: true - description: An array of compressed asset IDs to get proofs for. + description: Configuration object with compressed asset IDs. schema: - type: array - items: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetProofsParams examples: - name: getAssetProofs example params: - - name: Asset IDs + - name: Configuration value: - - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" - - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" + ids: + - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" result: name: Asset proofs description: Returns merkle proofs for the specified compressed assets. @@ -108,21 +101,17 @@ methods: - name: getAssetsByAuthority description: Returns assets filtered by their authority. + paramStructure: by-name params: - - name: Authority address - required: true - description: The authority address to filter assets by. - schema: - $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey - name: Configuration - required: false - description: Optional configuration object for sorting and pagination. + required: true + description: Configuration object with authority address, sorting, and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByAuthorityConfig examples: - name: getAssetsByAuthority example params: - - name: Authority address + - name: Configuration value: authorityAddress: "2RtGg6fsFiiF1EQzHqbd66AhW7R5bWeQGpTbv2UMkCdW" result: @@ -133,21 +122,17 @@ methods: - name: getAssetsByOwner description: Returns assets owned by the specified address. + paramStructure: by-name params: - - name: Owner address - required: true - description: The owner address to filter assets by. - schema: - $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey - name: Configuration - required: false - description: Optional configuration object for sorting and pagination. + required: true + description: Configuration object with owner address, sorting, and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByOwnerConfig examples: - name: getAssetsByOwner example params: - - name: Owner address + - name: Configuration value: ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" page: 1 @@ -168,29 +153,20 @@ methods: - name: getAssetsByGroup description: Returns assets filtered by their group information. + paramStructure: by-name params: - - name: Group key - required: true - description: The group key to filter assets by. - schema: - type: string - - name: Group value - required: true - description: The group value to filter assets by. - schema: - type: string - name: Configuration - required: false - description: Optional configuration object for sorting and pagination. + required: true + description: Configuration object with group key/value, sorting, and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByGroupConfig examples: - name: getAssetsByGroup example params: - - name: Group key - value: "collection" - - name: Group value - value: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" + - name: Configuration + value: + groupKey: "collection" + groupValue: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" result: name: Assets by group description: Returns assets filtered by the specified group. @@ -199,24 +175,19 @@ methods: - name: getAssetsByCreator description: Returns assets created by the specified address. + paramStructure: by-name params: - - name: Creator address - required: true - description: The creator address to filter assets by. - schema: - $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey - name: Configuration - required: false - description: Optional configuration object for sorting and pagination. + required: true + description: Configuration object with creator address, sorting, and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByCreatorConfig examples: - name: getAssetsByCreator example params: - - name: Creator address + - name: Configuration value: - groupKey: "collection" - groupValue: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" + creatorAddress: "9zsduBRp3VyGKaqim3b17dER3Z8fGCE1UYs4FNrqn1Km" result: name: Assets by creator description: Returns assets created by the specified address. @@ -225,6 +196,7 @@ methods: - name: searchAssets description: Search for assets using a complex set of filter criteria. + paramStructure: by-name params: - name: Search filters required: false @@ -247,21 +219,17 @@ methods: - name: getAssetSignatures description: Returns signatures for transactions that have interacted with the given asset. + paramStructure: by-name params: - - name: Asset ID - required: true - description: The ID of the asset to get signatures for. - schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId - name: Configuration - required: false - description: Optional configuration object for pagination. + required: true + description: Configuration object with asset ID and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetSignaturesConfig examples: - name: getAssetSignatures example params: - - name: Asset ID + - name: Configuration value: id: "FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC" result: @@ -272,22 +240,19 @@ methods: - name: getNftEditions description: Returns all editions of a given master NFT. + paramStructure: by-name params: - - name: Master NFT ID - required: true - description: The ID of the master NFT to get editions for. - schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId - name: Configuration - required: false - description: Optional configuration object for pagination. + required: true + description: Configuration object with master NFT ID and pagination. schema: $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetNftEditionsConfig examples: - name: getNftEditions example params: - - name: Master NFT ID - value: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - name: Configuration + value: + mint: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" result: name: NFT editions description: Returns all editions of the specified master NFT. @@ -296,6 +261,7 @@ methods: - name: getTokenAccounts description: Returns token accounts based on the specified filters. + paramStructure: by-name params: - name: Configuration required: false @@ -307,7 +273,7 @@ methods: params: - name: Configuration value: - ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" + owner: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" result: name: Token accounts description: Returns token accounts matching the specified criteria. diff --git a/src/openrpc/chains/_components/solana/asset.yaml b/src/openrpc/chains/_components/solana/asset.yaml index 2fa01cf96..61948660b 100644 --- a/src/openrpc/chains/_components/solana/asset.yaml +++ b/src/openrpc/chains/_components/solana/asset.yaml @@ -42,14 +42,23 @@ components: GetAssetConfig: title: GetAsset Configuration type: object + required: [id] properties: + id: + $ref: "#/components/schemas/AssetId" displayOptions: $ref: "#/components/schemas/DisplayOptions" GetAssetsConfig: title: GetAssets Configuration type: object + required: [ids] properties: + ids: + type: array + items: + $ref: "#/components/schemas/AssetId" + description: An array of asset IDs to retrieve. sortBy: type: object description: Sorting criteria for assets. @@ -383,6 +392,7 @@ components: GetAssetsByAuthorityConfig: title: GetAssetsByAuthority Configuration type: object + required: [authorityAddress] properties: sortBy: type: object @@ -424,7 +434,11 @@ components: GetAssetsByOwnerConfig: title: GetAssetsByOwner Configuration type: object + required: [ownerAddress] properties: + ownerAddress: + $ref: "./base-types.yaml#/components/schemas/Pubkey" + description: The owner address to filter assets by. sortBy: type: object description: Sorting criteria for assets. @@ -468,6 +482,7 @@ components: GetAssetsByGroupConfig: title: GetAssetsByGroup Configuration type: object + required: [groupKey, groupValue] properties: sortBy: type: object @@ -512,6 +527,7 @@ components: GetAssetsByCreatorConfig: title: GetAssetsByCreator Configuration type: object + required: [creatorAddress] properties: sortBy: type: object @@ -655,7 +671,11 @@ components: GetAssetSignaturesConfig: title: GetAssetSignatures Configuration type: object + required: [id] properties: + id: + $ref: "#/components/schemas/AssetId" + description: The ID of the asset to get signatures for. limit: type: integer description: The maximum number of signatures to retrieve. @@ -727,7 +747,11 @@ components: GetNftEditionsConfig: title: GetNftEditions Configuration type: object + required: [mint] properties: + mint: + $ref: "#/components/schemas/AssetId" + description: The ID of the master NFT to get editions for. limit: type: integer description: The maximum number of editions to retrieve. @@ -805,3 +829,21 @@ components: items: $ref: "#/components/schemas/NftEdition" description: Array of NFT editions. + + GetAssetProofParams: + title: GetAssetProof Parameters + type: object + required: [id] + properties: + id: + $ref: "#/components/schemas/AssetId" + + GetAssetProofsParams: + title: GetAssetProofs Parameters + type: object + required: [ids] + properties: + ids: + type: array + items: + $ref: "#/components/schemas/AssetId" From 24c72b6ecfc3e8e0560ab4008b3c76da5487dc47 Mon Sep 17 00:00:00 2001 From: dslovinsky Date: Fri, 13 Feb 2026 19:32:54 -0500 Subject: [PATCH 2/3] fix: expand DAS params into individual named fields With `paramStructure: by-name`, each param's `name` becomes a top-level JSON key on the wire. Using `name: Configuration` produced `"params": {"Configuration": {...}}` instead of the expected flat params. Expand each method's single Configuration param into individual named params where each name matches the actual DAS API field name. Co-Authored-By: Claude --- .../alchemy/solana-das/solana-das.yaml | 617 +++++++++++++++--- 1 file changed, 531 insertions(+), 86 deletions(-) diff --git a/src/openrpc/alchemy/solana-das/solana-das.yaml b/src/openrpc/alchemy/solana-das/solana-das.yaml index 55015ed11..6853cafc2 100644 --- a/src/openrpc/alchemy/solana-das/solana-das.yaml +++ b/src/openrpc/alchemy/solana-das/solana-das.yaml @@ -15,17 +15,21 @@ methods: description: Returns information about a single digital asset. paramStructure: by-name params: - - name: Configuration + - name: id required: true - description: Configuration object with asset ID and display options. + description: The ID of the asset, typically a base-58 encoded string. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetConfig + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId + - name: displayOptions + required: false + description: Options for display formatting. + schema: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/DisplayOptions examples: - name: getAsset example params: - - name: Configuration - value: - id: "F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk" + - name: id + value: "F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk" result: name: Asset information description: Returns detailed information about the specified digital asset. @@ -36,19 +40,68 @@ methods: description: Returns information about multiple digital assets. paramStructure: by-name params: - - name: Configuration + - name: ids required: true - description: Configuration object with asset IDs, sorting, and pagination. + description: An array of asset IDs to retrieve. + schema: + type: array + items: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId + - name: sortBy + required: false + description: Sorting criteria for assets. + schema: + type: object + properties: + sortBy: + type: string + enum: + - created + - updated + - recentAction + - none + description: The field to sort by. + sortDirection: + type: string + enum: + - asc + - desc + description: Sort direction. + - name: limit + required: false + description: The maximum number of assets to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsConfig + type: integer + default: 1 + - name: before + required: false + description: Retrieve assets before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve assets after this cursor. + schema: + type: string + - name: displayOptions + required: false + description: Options for display formatting. + schema: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/DisplayOptions examples: - name: getAssets example params: - - name: Configuration + - name: ids value: - ids: - - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" - - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" + - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" result: name: Assets list description: Returns detailed information about the specified digital assets. @@ -59,17 +112,16 @@ methods: description: Returns the merkle proof for a compressed digital asset. paramStructure: by-name params: - - name: Configuration + - name: id required: true - description: Configuration object with the compressed asset ID. + description: The ID of the compressed asset. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetProofParams + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId examples: - name: getAssetProof example params: - - name: Configuration - value: - id: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - name: id + value: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" result: name: Asset proof description: Returns the merkle proof for the specified compressed asset. @@ -80,19 +132,20 @@ methods: description: Returns merkle proofs for multiple compressed digital assets. paramStructure: by-name params: - - name: Configuration + - name: ids required: true - description: Configuration object with compressed asset IDs. + description: An array of compressed asset IDs. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetProofsParams + type: array + items: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId examples: - name: getAssetProofs example params: - - name: Configuration + - name: ids value: - ids: - - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" - - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" + - "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - "8vw7tdLGE3FBjaetsJrZAbbyssUrXai1aBJbUnj5S5uo" result: name: Asset proofs description: Returns merkle proofs for the specified compressed assets. @@ -103,17 +156,59 @@ methods: description: Returns assets filtered by their authority. paramStructure: by-name params: - - name: Configuration + - name: authorityAddress required: true - description: Configuration object with authority address, sorting, and pagination. + description: The authority address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: sortBy + required: false + description: Sorting criteria for assets. + schema: + type: object + properties: + sortBy: + type: string + enum: + - created + - updated + - recentAction + - none + description: The field to sort by. + sortDirection: + type: string + enum: + - asc + - desc + description: Sort direction. + - name: limit + required: false + description: The maximum number of assets to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. + schema: + type: integer + default: 1 + - name: before + required: false + description: Retrieve assets before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve assets after this cursor. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByAuthorityConfig + type: string examples: - name: getAssetsByAuthority example params: - - name: Configuration - value: - authorityAddress: "2RtGg6fsFiiF1EQzHqbd66AhW7R5bWeQGpTbv2UMkCdW" + - name: authorityAddress + value: "2RtGg6fsFiiF1EQzHqbd66AhW7R5bWeQGpTbv2UMkCdW" result: name: Assets by authority description: Returns assets filtered by the specified authority. @@ -124,27 +219,82 @@ methods: description: Returns assets owned by the specified address. paramStructure: by-name params: - - name: Configuration + - name: ownerAddress required: true - description: Configuration object with owner address, sorting, and pagination. + description: The owner address to filter assets by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: sortBy + required: false + description: Sorting criteria for assets. + schema: + type: object + properties: + sortBy: + type: string + enum: + - id + - created + - updated + - recentAction + - none + description: > + The field to sort by. Note: Only `id` is supported for cursor-based pagination + (using `before`/`after`). Sorting by `created`, `updated`, `recentAction`, or `none` + requires page-based pagination (using `page`). + sortDirection: + type: string + enum: + - asc + - desc + description: Sort direction. + - name: limit + required: false + description: The maximum number of assets to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. Required when using sortBy values other than `id`. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByOwnerConfig + type: integer + default: 1 + - name: before + required: false + description: Retrieve assets before this cursor. Only supported when sortBy is `id`. + schema: + type: string + - name: after + required: false + description: Retrieve assets after this cursor. Only supported when sortBy is `id`. + schema: + type: string + - name: options + required: false + description: Options for display formatting. + schema: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/DisplayOptions examples: - name: getAssetsByOwner example params: - - name: Configuration + - name: ownerAddress + value: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" + - name: page + value: 1 + - name: limit + value: 50 + - name: sortBy value: - ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" - page: 1 - limit: 50 - sortBy: - sortBy: "created" - sortDirection: "asc" - options: - showUnverifiedCollections: false - showCollectionMetadata: false - showFungible: false - showZeroBalance: false + sortBy: "created" + sortDirection: "asc" + - name: options + value: + showUnverifiedCollections: false + showCollectionMetadata: false + showFungible: false + showZeroBalance: false result: name: Assets by owner description: Returns assets owned by the specified address. @@ -155,18 +305,66 @@ methods: description: Returns assets filtered by their group information. paramStructure: by-name params: - - name: Configuration + - name: groupKey + required: true + description: The group key to filter by. + schema: + type: string + - name: groupValue required: true - description: Configuration object with group key/value, sorting, and pagination. + description: The group value to filter by. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByGroupConfig + type: string + - name: sortBy + required: false + description: Sorting criteria for assets. + schema: + type: object + properties: + sortBy: + type: string + enum: + - created + - updated + - recentAction + - none + description: The field to sort by. + sortDirection: + type: string + enum: + - asc + - desc + description: Sort direction. + - name: limit + required: false + description: The maximum number of assets to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. + schema: + type: integer + default: 1 + - name: before + required: false + description: Retrieve assets before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve assets after this cursor. + schema: + type: string examples: - name: getAssetsByGroup example params: - - name: Configuration - value: - groupKey: "collection" - groupValue: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" + - name: groupKey + value: "collection" + - name: groupValue + value: "J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w" result: name: Assets by group description: Returns assets filtered by the specified group. @@ -177,17 +375,65 @@ methods: description: Returns assets created by the specified address. paramStructure: by-name params: - - name: Configuration + - name: creatorAddress required: true - description: Configuration object with creator address, sorting, and pagination. + description: The creator address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: onlyVerified + required: false + description: Only return assets where the creator is verified. + schema: + type: boolean + default: false + - name: sortBy + required: false + description: Sorting criteria for assets. + schema: + type: object + properties: + sortBy: + type: string + enum: + - created + - updated + - recentAction + - none + description: The field to sort by. + sortDirection: + type: string + enum: + - asc + - desc + description: Sort direction. + - name: limit + required: false + description: The maximum number of assets to retrieve. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetsByCreatorConfig + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. + schema: + type: integer + default: 1 + - name: before + required: false + description: Retrieve assets before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve assets after this cursor. + schema: + type: string examples: - name: getAssetsByCreator example params: - - name: Configuration - value: - creatorAddress: "9zsduBRp3VyGKaqim3b17dER3Z8fGCE1UYs4FNrqn1Km" + - name: creatorAddress + value: "9zsduBRp3VyGKaqim3b17dER3Z8fGCE1UYs4FNrqn1Km" result: name: Assets by creator description: Returns assets created by the specified address. @@ -198,19 +444,148 @@ methods: description: Search for assets using a complex set of filter criteria. paramStructure: by-name params: - - name: Search filters + - name: sortBy + required: false + description: Sorting criteria for assets. + schema: + type: object + properties: + sortBy: + type: string + enum: + - created + - updated + - recentAction + - none + description: The field to sort by. + sortDirection: + type: string + enum: + - asc + - desc + description: Sort direction. + - name: limit + required: false + description: The maximum number of assets to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. + schema: + type: integer + default: 1 + - name: before + required: false + description: Retrieve assets before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve assets after this cursor. + schema: + type: string + - name: negate + required: false + description: Invert the search filter. + schema: + type: boolean + default: false + - name: conditionType + required: false + description: Condition type for multiple filters. + schema: + type: string + enum: + - all + - any + default: all + - name: interface + required: false + description: The interface of the asset. + schema: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetInterface + - name: ownerAddress + required: false + description: The owner address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: ownerType required: false - description: Object containing search criteria and filters. + description: The ownership model. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/SearchAssetsConfig + type: string + enum: + - single + - token + - name: creatorAddress + required: false + description: The creator address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: creatorVerified + required: false + description: Only include verified creators. + schema: + type: boolean + - name: authorityAddress + required: false + description: The authority address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: grouping + required: false + description: Grouping criteria for assets. + schema: + type: array + items: + type: string + - name: delegateAddress + required: false + description: The delegate address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: frozen + required: false + description: Filter by frozen status. + schema: + type: boolean + - name: supply + required: false + description: Supply filter criteria. + schema: + type: object + properties: + printMaxSupply: + type: integer + description: Maximum print supply filter. + printCurrentSupply: + type: integer + description: Current print supply filter. + - name: mutable + required: false + description: Filter by mutable status. + schema: + type: boolean + - name: burnt + required: false + description: Filter by burnt status. + schema: + type: boolean + - name: jsonUri + required: false + description: Filter by JSON URI. + schema: + type: string examples: - name: searchAssets example params: - - name: Search filters - value: - ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" - tokenType: "all" - limit: 50 + - name: ownerAddress + value: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" + - name: limit + value: 50 result: name: Search results description: Returns assets matching the specified search criteria. @@ -221,17 +596,44 @@ methods: description: Returns signatures for transactions that have interacted with the given asset. paramStructure: by-name params: - - name: Configuration + - name: id required: true - description: Configuration object with asset ID and pagination. + description: The ID of the asset to get signatures for. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetAssetSignaturesConfig + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId + - name: limit + required: false + description: The maximum number of signatures to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. + schema: + type: integer + default: 1 + - name: before + required: false + description: Retrieve signatures before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve signatures after this cursor. + schema: + type: string + - name: tree + required: false + description: The merkle tree address to filter by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey examples: - name: getAssetSignatures example params: - - name: Configuration - value: - id: "FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC" + - name: id + value: "FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC" result: name: Asset signatures description: Returns signatures for transactions involving the specified asset. @@ -242,17 +644,39 @@ methods: description: Returns all editions of a given master NFT. paramStructure: by-name params: - - name: Configuration + - name: mint required: true - description: Configuration object with master NFT ID and pagination. + description: The ID of the master NFT to get editions for. + schema: + $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/AssetId + - name: limit + required: false + description: The maximum number of editions to retrieve. schema: - $ref: ../../chains/_components/solana/asset.yaml#/components/schemas/GetNftEditionsConfig + type: integer + maximum: 1000 + default: 100 + - name: page + required: false + description: The index of the "page" to retrieve. + schema: + type: integer + default: 1 + - name: before + required: false + description: Retrieve editions before this cursor. + schema: + type: string + - name: after + required: false + description: Retrieve editions after this cursor. + schema: + type: string examples: - name: getNftEditions example params: - - name: Configuration - value: - mint: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" + - name: mint + value: "Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss" result: name: NFT editions description: Returns all editions of the specified master NFT. @@ -263,17 +687,38 @@ methods: description: Returns token accounts based on the specified filters. paramStructure: by-name params: - - name: Configuration + - name: mint + required: false + description: The mint address to filter token accounts by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: owner + required: false + description: The owner address to filter token accounts by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: programId + required: false + description: The program ID to filter accounts by. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: limit + required: false + description: The maximum number of token accounts to retrieve. + schema: + type: integer + maximum: 1000 + default: 100 + - name: cursor required: false - description: Configuration object for filtering and pagination. + description: Cursor for pagination. schema: - $ref: ../../chains/_components/solana/account.yaml#/components/schemas/GetTokenAccountsConfig + type: string examples: - name: getTokenAccounts example params: - - name: Configuration - value: - owner: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" + - name: owner + value: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY" result: name: Token accounts description: Returns token accounts matching the specified criteria. From 361564e225ebf5cd98b7ed51779c0fab3c255bbb Mon Sep 17 00:00:00 2001 From: dslovinsky Date: Fri, 13 Feb 2026 20:43:27 -0500 Subject: [PATCH 3/3] fix: add missing params to getTokenAccounts Add commitment, minContextSlot, dataSlice, and encoding params that were available in GetTokenAccountsConfig but omitted from the expanded by-name param list. Co-Authored-By: Claude --- .../alchemy/solana-das/solana-das.yaml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/openrpc/alchemy/solana-das/solana-das.yaml b/src/openrpc/alchemy/solana-das/solana-das.yaml index 6853cafc2..5235d37b9 100644 --- a/src/openrpc/alchemy/solana-das/solana-das.yaml +++ b/src/openrpc/alchemy/solana-das/solana-das.yaml @@ -702,6 +702,26 @@ methods: description: The program ID to filter accounts by. schema: $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Pubkey + - name: commitment + required: false + description: The level of commitment desired for the query. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Commitment + - name: minContextSlot + required: false + description: The minimum slot that the request can be evaluated at. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/MinContextSlot + - name: dataSlice + required: false + description: Limit the returned account data. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/DataSlice + - name: encoding + required: false + description: Encoding format for account data. + schema: + $ref: ../../chains/_components/solana/base-types.yaml#/components/schemas/Encoding - name: limit required: false description: The maximum number of token accounts to retrieve.