Skip to content

[docs-agent] Add Solana DAS API v2 spec + landing page (12 methods, Helius upstream naming)#1460

Merged
victorbware merged 8 commits into
mainfrom
docs/solana-das-api-v2
Jul 23, 2026
Merged

[docs-agent] Add Solana DAS API v2 spec + landing page (12 methods, Helius upstream naming)#1460
victorbware merged 8 commits into
mainfrom
docs/solana-das-api-v2

Conversation

@alchemy-bot

Copy link
Copy Markdown
Contributor

Summary

Adds a new Solana DAS API v2 section as a sibling to the existing Solana DAS API under NFT API, with a new OpenRPC spec (solana-das-v2) covering the 12 DAS methods and a landing page describing what's new.

Three method names differ from v1, matching the canonical DAS upstream:

v2 method vs v1
getAssetBatch v1 was getAssets
getAssetProofBatch v1 was getAssetProofs
getSignaturesForAsset v1 was getAssetSignatures

The other 9 methods keep their existing names.

Schema differences from v1:

  • Every successful response includes last_indexed_slot.
  • Assets gain MPL Core fields: is_agent, agent_token, asset_signer, plugins (with MIP-11 groups membership).
  • Interface enum adds V2_NFT, MplCoreAsset, MplBubblegumV2, MplCoreCollection, MplCoreGroup.
  • Params consolidate on options (v1 accepted displayOptions and options as aliases; v2 keeps only options).
  • getAssetProofBatch returns an object keyed by asset ID, not an ordered array.
  • getTokenAccounts uses mint / owner (v1 used mintAddress / ownerAddress).
  • searchAssets requires both ownerAddress and tokenType; adds isAgent, agentToken, assetSigner, tree.

Beta caveat

The v2 backend is not yet in production and the endpoint host is subject to change before launch. The landing page carries a prominent Beta banner. Try It requests will fail with Unsupported method: X on SOLANA_MAINNET on the three renamed methods (getAssetBatch, getAssetProofBatch, getSignaturesForAsset) until the backend rolls out. The existing v1 Solana DAS API stays live in parallel; no deprecation notice is added.

Files

  • src/openrpc/alchemy/solana-das-v2/solana-das-v2.yaml — 12-method OpenRPC spec (all paramStructure: by-name)
  • src/openrpc/chains/_components/solana/asset-v2.yaml — v2 shared schemas (self-contained; does not touch v1's asset.yaml)
  • content/api-reference/data/nft-api/alchemy-das-apis-for-solana-v2.mdx — new landing page with 12-method table, Beta banner, and a migration-from-v1 section
  • content/docs.yml — sibling nav entry after v1 (api-name: solana-das-v2)

Validation

  • pnpm run generate:rpc
  • pnpm run validate:rpc ✅ (both json-rpc and chains specs)
  • pnpm exec prettier --check ✅ on all changed files
  • Method names + order match the requester's screenshot exactly

Open questions for reviewers

  1. CU costs for v2 mirror v1's per-method values (80 / 480 / 160). If the v2 backend will price differently, please flag before merge and we'll update x-compute-units on the affected methods.
  2. Endpoint host. The spec's servers block currently points to solana-mainnet.g.alchemy.com/v2 so the pages render cleanly in Fern, but the actual v2 backend URL is TBD. Once the backend team picks the URL, either drop a follow-up PR here or open a Linear ticket and we'll rev the spec's servers.

Linear

DOCS-145 — https://linear.app/alchemyapi/issue/DOCS-145/add-solana-das-api-v2-sub-page-openrpc-spec-12-methods-helius-upstream

Requested by

@victorbware (via Slack thread)

…elius upstream naming)

Adds a sibling Solana DAS API v2 page under NFT API with a new OpenRPC spec (`solana-das-v2`) covering the 12 canonical DAS methods. Three method names differ from v1 to match the Helius upstream: `getAssets` → `getAssetBatch`, `getAssetProofs` → `getAssetProofBatch`, `getAssetSignatures` → `getSignaturesForAsset`. Response shapes add `last_indexed_slot`, the MPL Core fields (`is_agent`, `agent_token`, `asset_signer`, `plugins`), and the `MplCoreAsset` / `MplBubblegumV2` / `MplCoreCollection` / `MplCoreGroup` interface values. Params consolidate on `options` (dropping the v1 `displayOptions` alias).

The v2 backend is not yet in production; the landing page carries a Beta banner noting the endpoint host is subject to change and Try It may fail until backend rolls out. v1 stays live in parallel; no deprecation notice is added.

Refs DOCS-145

Requested-by: @victorbware
@alchemy-bot
alchemy-bot requested a review from a team as a code owner July 20, 2026 08:43
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

🔗 Preview Mode

Name Status Preview Updated (UTC)
Alchemy Docs ✅ Ready 🔗 Visit Preview Jul 23, 2026, 9:30 AM

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9e3be6f190

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread content/docs.yml
alchemy-bot and others added 7 commits July 20, 2026 08:52
…, not just renames

Per @victorbware's Slack feedback, reframes the first bullet in the "Compared with v1" section from a rename-focused description to one that emphasizes v2 adds `getAssetBatch`, `getAssetProofBatch`, and `getSignaturesForAsset` to support paginated responses.

Refs DOCS-145

Requested-by: @victorbware
Populates `examples[0].result.value` on every method in the DAS v2 spec so Fern's Response panel renders realistic 200 bodies instead of the empty `{"jsonrpc":"2.0","id":1}` placeholder. Values are sourced from the canonical Helius DAS docs (Mad Lads collection for getAsset/getAssetBatch/getAssetsByAuthority/getAssetsByGroup, the Helius compressed-NFT sample for getAssetProof/getAssetProofBatch/getAssetsByOwner, and the same canonical addresses used in the params example for the remaining methods).

Refs DOCS-145

Requested-by: @victorbware
…on both v1 and v2

Per @victorbware's Slack feedback:

1. All 12 DAS v2 JSON-RPC method names now carry a `_v2` suffix (`getAsset_v2`, `getAssetBatch_v2`, ..., `searchAssets_v2`) so v1 and v2 can coexist on the same endpoint. Landing MDX table + migration section reflect the new naming; URL slugs updated to Fern's `get-<method>-v-2` kebab-case pattern (matching the observed `getMultipleNewAddressProofsV2` → `get-multiple-new-address-proofs-v-2` mapping). Preview build will confirm the URL slugs; if Fern generates a different form we'll follow up.

2. `getAsset` CU cost bumped from 80 to 160 on BOTH v1 and v2. Updated in: `src/openrpc/alchemy/solana-das/solana-das.yaml` (v1 spec), `src/openrpc/alchemy/solana-das-v2/solana-das-v2.yaml` (v2 spec), the v1 landing MDX table, and `content/api-reference/pricing-resources/pricing/compute-unit-costs.mdx` (Solana DAS APIs table).

The compute-unit-costs.mdx Solana DAS table sits inside a `{/* cu:auto product="solana-das" */}` marker; the corresponding chain-config `topconfig.yml` may need a follow-up update so the value stays consistent on the next auto-sync.

Refs DOCS-145

Requested-by: @victorbware
The v2 landing MDX hard-codes 12 method links under `solana-das-api-v2-endpoints/` (matching the desired product URL). Without an explicit `slug:` on the api entry, docs-site's `visitApiReference` derives the child path via lodash `kebabCase`, which splits `v2` into `v-2` and produces `solana-das-api-v-2-endpoints`. This mismatch would 404 every method link on the new landing page. Pin the slug to `solana-das-api-v2-endpoints` (same fix as the existing Polygon zkEVM api block a few sections above).

Addresses codex P2 review comment on PR #1460.

Refs DOCS-145

Requested-by: @victorbware
…page

Removes the Beta/'not yet in production' panel, (Beta) suffixes in the v2 landing page frontmatter, and the beta caveats from the OpenRPC info.description and server names.

Adds a 'Solana DAS APIs v2' link entry in content/docs.yml under the Solana chain section (mirrors the existing 'Solana DAS APIs' entry for v1).

Refs DOCS-145

Requested-by: @victorbware
…or's searchAssets example

Adds sortBy: {sortBy: created} to the examples[0].params of getAssetsByAuthority_v2, getAssetsByCreator_v2, getAssetsByGroup_v2, and getAssetsByOwner_v2 so Fern's Try It form pre-populates the sortBy field. Without it, the form leaves sortBy blank and calls hit an empty-sort default that Victor reported as not working.

Replaces the searchAssets_v2 example with Victor's exact payload: ownerAddress + tokenType + limit + page + options (all 5 show flags set false).

Refs DOCS-145

Requested-by: @victorbware
@victorbware
victorbware merged commit d87bc2d into main Jul 23, 2026
10 of 11 checks passed
@victorbware
victorbware deleted the docs/solana-das-api-v2 branch July 23, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants