Skip to content

[ECO-588]: Migrate Guides to Platform v3#25

Merged
Bradez merged 68 commits into
enjin:masterfrom
EtayM:docs/ECO-588/platform-v3
Jun 1, 2026
Merged

[ECO-588]: Migrate Guides to Platform v3#25
Bradez merged 68 commits into
enjin:masterfrom
EtayM:docs/ECO-588/platform-v3

Conversation

@EtayM

@EtayM EtayM commented May 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Migration of the docs to Enjin Platform v3, focused on the wallet-management and platform guides. Not yet 100% complete — further updates will follow.

  • Rewrite Using Fuel Tanks for v3 around managed-wallet dispatching; clarify fuel tank rules intro and daemon address lookup
  • Add a new Using Proxies guide covering delegated dispatching via proxyAddress
  • Migrate misc v3 pages and remove the obsolete create-qr-drops guide
  • Remove outdated platform batching / fuel-tank API reference snippets
  • Restore TokenGroup.collectionId and Listing.type in API ref examples
  • Full API reference rewrite (queries, mutations) for v3
  • Set up Docusaurus versioning: v2 default, v3 (Beta) at /v3

Test plan

  • Build the Docusaurus site and confirm no broken links/MDX errors
  • Review rendered Fuel Tanks and Proxies guides for accuracy against Platform v3
  • Confirm sidebar/category ordering is correct

EtayM and others added 30 commits May 4, 2026 15:34
Snapshot current docs as version 2.x (served at site root) and configure
the live docs/ folder as the in-progress v3 (Beta), served at /v3 with the
unreleased banner. Adds a version dropdown to the navbar.
Make the prebuilt binary the primary path: download → mkdir store → .env
with KEY_PASS, PLATFORM_KEY, and absolute SEED_PATH → run. Add a brief
Docker section pointing at the 3.x branch for users who prefer it.

Drops the v2-only Wallet Daemon Executable section, the Sentosa upgrade
warning, and the config.json + per-network setup (the v3 daemon is
network-agnostic and ignores config.json). Documents the v3.0.1 binary
gotchas users hit in practice: SEED_PATH must be absolute (relative
paths resolve against the build-time CARGO_MANIFEST_DIR), KEY_PASS must
be set but may be empty, and .env values with spaces need quoting.

Also fixes the now-broken #wallet-daemon-executable anchor in the Enjin
Farmer setup guide.
The v3 platform exposes a single GraphQL endpoint
(`https://platform.beta.enjin.io/graphql`) instead of v2's per-feature/
per-network URLs, requires `Authorization: Bearer <token>` (the bare
token without `Bearer` is rejected), and selects the target network and
chain via `network` (ENJIN/CANARY) and `chain` (MATRIX/RELAY) enum
arguments on each operation. Beam is gone for now.

Patches two inbound anchors that pointed at sections that no longer
exist: how-to-use-graphql.md `#overview-of-graphql-endpoints` and
quick-start-guide.md `#mainnet`. Both target pages still need their own
v3 rewrites — these are non-breaking link updates only.

Also adds `v3-API.md` and `build-test/` to `.gitignore` for the v3
migration working notes file.
Updates every example for the v3 API model: single
`https://platform.beta.enjin.io/graphql` endpoint, explicit
`network`/`chain` enum args, `tokenId: N` (no `{ integer: N }` wrapper),
`CreateTransaction(transaction: { mintToken: ... })` in place of the
direct `MintToken` mutation, and `CreateBatchTransaction` for batched
extrinsics. Replaces the v2 GraphiQL playground list (8 per-feature /
per-network URLs) with a single playground link.

Rewrites the Pagination section from scratch. v2's GraphQL Relay-style
connections (`pageInfo`, `edges`, `node`, per-edge `cursor`, `after:`)
do not exist in v3 — replaced with offset pagination (`limit`/`page`,
flat array) and cursor pagination (`limit`/`cursor`,
`*CursorPagination` wrapper with `data`/`perPage`/`nextCursor`/
`previousCursor`).

All inline images and gifs removed (no placeholders) — they all showed
v2 UI flows and would need to be re-captured against v3.
Main change: rewrite docs/01-getting-started/04-using-the-enjin-platform.md
for the v3 platform model.

- Section 1: collapsed to a single platform URL with a network selector;
  dropped the v2 "three platform versions" callout (no per-network URLs,
  no enterprise on-prem).
- Section 3: removed the manual-signing path (Enjin Wallet / Polkadot.js)
  since the platform no longer supports it. Daemon is the only signer,
  with Managed Wallet as a per-transaction override.
- Section 4 Option A: refreshed UI screenshots; added the new Signing
  Account field with a link to the managed-wallets guide; replaced the
  inline "collection created" banner with the new Transaction Submitted
  modal.
- Section 4 Option B: single endpoint, Bearer auth, CreateTransaction
  with flat createCollection input. Dropped c#/c++ SDK tabs (v3 SDK
  shapes not yet published). Added a callout linking to Using-the-Enjin-API
  and How-to-Use-GraphQL for context.
- Section 5 ("Approve Platform Requests"): folded into a small info
  callout in section 4 — there is no manual approval step in v3, so the
  header was misleading.
- Section 5 (was 6, Receive Transaction Information): GetPendingEvents
  doesn't exist in v3, so the API example is rewritten around
  GetTransaction(uuid). UI subsection points users at the Extrinsic Hash
  link on the Transactions page, which opens the transaction on Subscan
  for full event-level data (the platform UI doesn't currently expose
  events itself; chain-introspection queries are a known bug).

Side cleanups across the three previously-committed v3 pages: removed
"In v3" / "Wallet Daemon v3" / "Unlike previous versions of the platform"
framing. These pages will become the main docs once the platform exits
beta, so the v2-comparison language reads as outdated baggage.

Also: gitignore widened from `v3-API.md` to `v3-*.md` to also cover the
new `v3-MIGRATION.md` tracker file.
Bulk URL update across 25 v3 docs pages — link/text content otherwise
unchanged. v2 versioned docs and the unversioned src/pages/tools.md
were intentionally left alone.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…canary URLs

For v3 the platform is network-agnostic, so the API reference pages, the
fuel-tanks guide, and the api-reference landing page no longer split
endpoints by network. Replaced the Testnet/Mainnet tip callouts with a
single "GraphQL Endpoint" callout pointing at platform.beta.enjin.io.
Quick-start step 1 now points at the unified platform URL.

Bulk-swapped the remaining canary URLs in code samples and link
references. Intentionally left untouched (slated for full page
migrations later):
- docs/05-enjin-platform/05-enjin-platform.md (platform v3 closed source)
- docs/02-guides/01-platform/01-managing-tokens/06-create-qr-drops.md (beams removed in v3)
- farmer sample game ENJIN_API_URL rows (setup-guide:86, implementation-breakdown:39)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There is no separate Canary Platform in v3 — one Enjin Platform Cloud
covers both networks via the in-UI network selector. Kept references
to the Canary testnet (the chain) intact since that's still a valid
v3 concept; only the "Canary <Platform>" wording was changed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Convert CreateCollection mutation to v3 CreateTransaction(createCollection)
  shape with uuid/action/state response and Bearer auth
- Update dashboard UI bullets to match v3 form (Royalties, Explicit Royalty
  Currencies, Max Token Count/Supply, Force Collapsing Supply, Attributes)
- Replace Wallet Daemon vs Polkadot.js signing callout with v3 Signing Account
  guidance (Wallet Daemon default, Managed Wallet override)
- Drop v2 gif and screenshots
- Add 'Platform v3 SDKs not yet available' callout above the SDK tabs;
  C#/C++ SDK tab bodies kept as-is until v3 SDKs ship
- Drop the dead WebSocket-event line (v3 has no subscriptions)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Convert CreateToken mutation to v3 CreateTransaction(createToken) shape
  with flat tokenId (BigInt scalar, no integer wrapper) and Bearer auth
- Re-describe supply types: only SUPPLY and COLLAPSING_SUPPLY exist in v3;
  unlimited supply is now expressed by omitting the cap field entirely
  (no more INFINITE enum)
- Add NON_NULL fields the v3 input requires (listingForbidden, infusion,
  anyoneCanInfuse)
- Replace Wallet Daemon vs Polkadot.js callout with v3 Signing Account guidance
- Drop v2 gif and screenshots
- Add 'Platform v3 SDKs not yet available' warning above the SDK tabs
- Drop the dead WebSocket-event paragraph

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- In v3, a token becomes a currency via behavior: { type: IS_CURRENCY, name,
  symbol, decimalCount }. Replace the v2 params.metadata shape with the new
  TokenBehaviorInput on createToken
- Wrap the call in CreateTransaction (single v3 mutation envelope)
- Flat tokenId BigInt; Bearer auth; v3 required NON_NULL fields populated
- Add 'Platform v3 SDKs not yet available' warning above the SDK tabs
- Drop the dead WebSocket-event line

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Replace BatchSetAttribute (v2 omit-tokenId-for-collection shape) with the
  two discrete v3 discriminator actions on CreateTransaction:
  batchSetTokenAttribute and batchSetCollectionAttribute
- Flat tokenId BigInt; Bearer auth; updated cross-callout about the
  collection variant of the action
- Add 'Platform v3 SDKs not yet available' warning above SDK tabs
- Drop v2 gifs and screenshots, plus the dead WebSocket-event line
- Mention setTokenAttribute / removeTokenAttribute / removeAllTokenAttributes
  (and their collection counterparts) as related discriminator fields
- Update wallet-signing callout to v3 Signing Account pattern

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Replace BatchMint (recipients: [{account, mintParams: {tokenId: {integer},
  amount}}]) with the v3 mintTokens discriminator action: a flat
  {collectionId, tokens: [{recipient, tokenId, amount}]} input on
  CreateTransaction
- Mention single-recipient mintToken alternative for completeness
- Flat tokenId BigInt; Bearer auth
- Add 'Platform v3 SDKs not yet available' warning above SDK tabs
- Drop v2 gif and screenshots, plus the dead WebSocket-event line
- Update wallet-signing callout to v3 Signing Account pattern

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Convert SimpleTransferToken to v3 transferToken discriminator (flat
  recipient/collectionId/tokenId/amount, no params wrapper)
- Convert TransferKeepAlive to v3 transferEnj discriminator. v3 has no
  keepAlive flag at the input level; replace the v2 'Using keepAlive'
  bullet with a note about that and link the existential-deposit article
- Convert BatchTransferBalance to v3 CreateBatchTransaction with multiple
  transferEnj entries (v3 has no batchTransferEnj discriminator)
- Mention batchTransfer (token-level batched transfers within one
  collection) as the v3 path for that scenario
- Flat tokenId BigInt; Bearer auth
- Drop the v2 'Distributing Tokens via QR' next-step (Beam removed in v3)
- Add 'Platform v3 SDKs not yet available' warning above the SDK tabs
- Drop v2 gifs/screenshots and the dead WebSocket-event paragraph
- Update wallet-signing callout to v3 Signing Account pattern

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Split unified v2 Freeze/Thaw + freezeType discriminator into v3's four
  discrete actions on CreateTransaction:
    freezeCollection: { collectionId }
    freezeToken:      { collectionId, tokenId, state }
    thawCollection:   { collectionId }
    thawToken:        { collectionId, tokenId, state }
- State is now NON_NULL on both freezeToken and thawToken; uses the
  FreezeState enum (NEVER | PERMANENT | TEMPORARY)
- Flat tokenId BigInt; Bearer auth
- Add 'Platform v3 SDKs not yet available' warning above SDK tabs
- Drop v2 gif and screenshots
- Update wallet-signing callout to v3 Signing Account pattern

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…red)

- Convert Burn to v3 burnToken discriminator action on CreateTransaction
  (BurnTokenInput is flat: collectionId, tokenId, amount, removeTokenStorage).
  removeTokenStorage is NON_NULL in v3 so it's always set
- Same action handles 'melt some supply' (removeTokenStorage: false) and
  'destroy token entirely' (removeTokenStorage: true)
- Update RemoveAllAttributes reference to v3's removeAllTokenAttributes
  discriminator
- Drop v2 gifs/screenshots in the migrated sections and replace the v2
  wallet-signing callouts with v3 Signing Account guidance
- Add 'Platform v3 SDKs not yet available' warning above the API tabs
- 'Destroying a collection' sub-section LEFT UNCHANGED (still v2 wording
  + v2 mutation) with a 'Pending v3 confirmation' callout — v3 has no
  destroyCollection discriminator or top-level mutation. Awaiting the
  Enjin team on whether collection destruction is intentionally removed,
  replaced by another action, or not yet wired up

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The v3 dashboard layout shifted, so 'click the X button at the bottom right
corner' no longer reflects where the action button actually lives. Reduce
these instructions to just the action ('click the X button') across all
four pages that carried the phrasing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
These pages are intended to read as canonical Enjin Platform docs once
the v3-beta label drops. A reader landing on them shouldn't need to know
there was an earlier version, so describe the current API neutrally and
remove version comparisons from page bodies and callouts.

Changes across all 8 migrated guides:
- 'In v3, X is split into …' / 'In v3 a token becomes a currency by …'
  → describe the current shape directly, no version prefix
- 'v3 represents royalties via behavior' / 'v3 supports two cap modes'
  → 'Royalties are expressed via behavior' / 'There are two cap modes'
- 'tokenId is now a flat BigInt (no { integer: N } wrapper)'
  → 'tokenId is a flat BigInt scalar'
- 'The v2 unified Freeze(... freezeType) shape no longer exists' line
  dropped from freezing-thawing
- transferEnj keepAlive bullet rewritten to describe current shape
  rather than v2/v3 diff
- SDK warning callout retitled from 'Platform v3 SDKs are not yet
  available' to 'SDKs are not yet available'; body now says examples
  are 'out of date and will not work against the current Enjin Platform
  API' instead of v2/v3 wording
- 'Pending v3 confirmation' callouts in burning-destroying retitled to
  'Section under review' with the same neutral framing

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The v2 page said the UI option was unavailable. The current dashboard
does expose currency-token creation: it lives on the standard Create
Token form under Advanced Settings → Other Options → Is Currency, which
reveals Symbol and Decimal Count fields. Replace the 'Unavailable via
the User Interface' warning with a walkthrough of that flow, linking
the shared token-creation fields back to the Creating Tokens page rather
than duplicating them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The v3 dashboard dropped the top-level Tokens page (404) and removed the
standalone Batch button. Document these two patterns once on the
Getting Started platform page, then link every managing-tokens guide
to the shared explanation.

Platform page (04-using-the-enjin-platform.md):
- New section '5. Working with the Dashboard' (current section 5
  renumbered to 6) with two stable anchors:
  - {#finding-tokens}: explains the Collections → click collection
    → click 3-dots menu flow that replaces the v2 Tokens page
  - {#batching-transactions}: explains '+ Add to Batch' on action
    forms plus the Batch Queue panel that submits everything as one
    CreateBatchTransaction
- Image placeholders left for the user to fill in

Managing-tokens guides:
- 02-creating-tokens, 02-creating-a-currency-token: 'navigate to
  Tokens → Create Token' rewritten to 'navigate to Collections →
  click the collection → Create Token'
- 03-adding-metadata, 04-minting-a-token, 05-transferring-tokens,
  08-burning-destroying-tokens (melt): Tokens-menu navigation
  replaced with a link to #finding-tokens; reads as 'Open the token
  in the dashboard, click the 3 dots, then click <action>'
- 03-adding-metadata, 05-transferring-tokens: 'Click the Batch
  button, followed by Batch <action>' callouts rewritten to point
  at + Add to Batch with a link to #batching-transactions
- 07-freezing-thawing: tip about the token-level flow now links to
  #finding-tokens; '3 vertical dots to its right' normalized to
  'on its row'
- 08-burning-destroying-tokens (deferred Destroy Collection
  subsection): typo 'to it's right' tightened to 'on its row'

Also picks up an earlier user edit on 02-creating-tokens.md
clarifying that the dashboard form has an explicit 'Infinite cap
type option' to select for unlimited supply.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fill in the image placeholders left on the platform and managing-tokens
pages with real v3 dashboard screenshots, and tighten the dashboard
walkthroughs to match the live v3 UI:

- 04-using-the-enjin-platform: drop placeholder captions on the
  collection-tokens-list, add-to-batch, and batch-queue images
- 03-adding-metadata: action menu item is "Set Attribute"; add the
  Set Attribute form screenshot
- 04-minting-a-token: action menu opens a form with a "Mint Token"
  submit button; add the Mint Token form screenshot; trim the
  Play-to-Mint preamble
- 05-transferring-tokens: add the Transfer Token form screenshot
- 07-freezing-thawing: collection action is "Freeze Collection",
  which opens a form with its own "Freeze Collection" submit button;
  token actions are "Freeze Token" / "Thaw Token"; add the Freeze
  Collection form screenshot
- 08-burning-destroying-tokens: action menu item and submit button
  are "Burn Token"; attribute removal is per-attribute via "Remove
  Attribute" (no Remove All); add the Burn Token form screenshot;
  "checkbox" wording
- 02-creating-tokens, 02-creating-a-currency-token: example tokenId
  bumped 0 -> 1 across all language tabs
- freezing-thawing: freezing applies to transfers (melting wording
  dropped from the scope note)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GetWallet -> GetAccount, CreateCollection -> CreateTransaction
(createCollection action), SendTransaction -> SignTransaction.
Add the Bearer auth prefix. Page otherwise kept as-is per its
existing "no longer maintained" notice.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
GetWallet -> GetAccount(network, chain, address). Balance is now a
single `balance` scalar (no free/reserved split). Tokens come from
a flat `tokens` list; collections are read via each token's
`collection`. Per-token held balance and the standalone collections
query have no v3 equivalent yet, so those are dropped. Pagination
tips removed (Account.tokens is unpaginated). SDK tabs kept with
the standard not-yet-available warning.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CreateWallet -> CreateManagedWallet; GetWallet -> GetManagedWallet
(returns publicKey + externalId). Mint/transfer examples go through
CreateTransaction with the mintToken / transferToken actions.

Restructure: the "any transaction can be signed by a managed wallet"
capability is lifted out of an inline callout into a dedicated
"Signing transactions as a Managed Wallet" section that teaches the
signerAccount / signerExternalId arguments before the examples.

SDK tabs kept verbatim with the standard not-yet-available warning.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrite the destroy-collection examples to use the new `destroyCollection`
discriminator on `CreateTransaction` (input shape: `{ id: BigInt! }`).
Remove the "Section under review" callouts now that the v3 mutation is
available, and update the dashboard signing notes to the v3 Signing
Account framing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrite Step 1 to use the `mutateCollection` discriminator on
`CreateTransaction` (setting `owner` to the new owner address) and
Step 2 to use the new `acceptCollectionTransfer` discriminator
(input shape: `{ id: BigInt! }`). Add SDK warning callout and a brief
tip showing the matching `cancelCollectionTransfer` action so an owner
can undo a pending transfer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Update the button names in the Destroying a Collection dashboard
steps from "Destroy" to "Destroy Collection" to match the actual
UI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rm-v3

# Conflicts:
#	docs/01-getting-started/04-using-the-enjin-platform.md
#	docs/05-enjin-platform/04-enterprise-on-prem/04-enterprise-on-prem.md
#	docs/05-enjin-platform/05-enjin-platform.md
Working JSONs from schema introspection (v3-introspect-*.json,
v3-test-*.json) live next to v3-MIGRATION.md / v3-API.md and shouldn't
be tracked any more than the .md scratchpads are.
Per Enjin team direction the fuel-tank API surface is being rebuilt,
and the v2 queries/mutations on these pages won't work against the
current platform. Add a warning callout at the top of both reference
pages so readers know the examples are stale; revisit once the new
API lands.
EtayM and others added 28 commits May 25, 2026 18:51
Convert every action to the CreateTransaction discriminator pattern.
Drop ApproveToken / UnapproveToken / OperatorTransferToken /
TransferAllBalance / TransferBalance — none have v3 equivalents.
Rename Burn → burnToken (with the new removeTokenStorage flag),
SimpleTransferToken → transferToken, BatchMint → mintTokens,
Infuse → infuseToken / infuseTokens, Freeze → freezeToken /
thawToken (the old freezeType discriminator is gone). Replace the
v2 keepAlive flag with the v3 transferEnj action (no keepAlive
field in v3).

Add the v3-new actions: createTokens (batch), batchTransfer
(uses 'address' on each recipient entry, not 'account'), the
infuseTokens batch form, mutateToken's listingForbidden /
anyoneCanInfuse fields, batchSetTokenAttribute, and
removeAllTokenAttributes. Drop the {integer:N} tokenId wrapper —
tokenId is a flat BigInt everywhere now.
Convert the 4 surviving v2 mutations (createListing, fillListing,
finalizeAuction, cancelListing) to the CreateTransaction
discriminator pattern. Flatten the v2 listingData (auctionParams /
offerParams wrappers are gone — startBlock/endBlock/expiration are
direct fields on ListingDataInput), drop the salt argument (no
longer required), and drop the {integer:N} tokenId wrapper on
makeAssetId/takeAssetId.

Add the v3-new actions: placeBid (auctions), placeCounterOffer +
answerCounterOffer (offer-listing negotiation), and
addWhitelistedAccounts + removeWhitelistedAccounts (whitelist
management for usesWhitelist listings).
Token groups and Relaychain nomination pools are first-class
v3 concepts with no analog in the v2 docs. Document each on
its own queries + mutations page so they don't get buried inside
the collections / accounts pages, and link them from the API
reference index.

Token-group queries cover the two access paths the schema
actually exposes (Collection.tokenGroups and Token.tokenGroupTokens
— there's no GetTokenGroup root query). Mutations cover the seven
discriminators on TransactionInput (createTokenGroup,
destroyTokenGroup, addTokenToGroup, removeTokenFromGroup,
setTokenGroups, setTokenGroupAttribute, removeTokenGroupAttribute)
plus the createToken.groups shortcut.

Nomination-pool queries cover GetNominationPool, GetNominationPools,
and GetAccountPools; mutations cover nominationPoolsBond (amount
vs fill: true) and nominationPoolsUnbond. Both sides flag the
Relaychain chain: RELAY requirement up top.
The v2 callout warned readers that the page might lag behind the
real schema because the docs couldn't be programmatically updated.
That caveat no longer applies — these pages are maintained
directly against the live API as it evolves, so the disclaimer
just adds noise above every page's first real content.
…roup example

Swap the [MvB] Clan Tag / Multiverse Brotherhood references (a community
collection) for The Multiverse (id 2967) and its Epochrome Sword group
(id 694) — both Enjin-official, so the examples read as canonical. Real
collection owner address, real listing id and prices, and a real token
id from the Epochrome Sword group are all verified live on mainnet
Matrix. Touched: 07-token-groups-queries, 07-token-groups-mutations,
02-collections-queries, 02-collections-mutations, 06-marketplace-queries,
04-wallets-queries.
Both pages were carrying v2 Pusher infrastructure (pusher:subscribe
payloads, GetPendingEvents, dedicated WS URLs per network) that has
no v3 equivalent. The Enjin team has confirmed real-time event
streaming and an events field on Transaction are both planned but
neither has a finalized shape yet, so writing a v3-shaped reference
now would just be made up.

Replace each page with a short "coming soon" callout plus the only
workflow that actually works today: poll GetTransaction(uuid:) for
state, then click Extrinsic Hash on the Transactions page to read
emitted events on Subscan. The api-reference stub additionally lists
concrete use cases the real-time API will unlock (chain-assigned
IDs from createListing / createCollection, real-time token activity,
state UI without polling) so the page is informative rather than
just a placeholder.

Also drop the now-misleading "Listen to Platform Websocket Events"
subsection from section 6 of the platform getting-started page —
it described a feature that isn't shipped. Replace the bullet with a
single forward-pointer to the WebSocket Events stub so readers who
go looking still land on the right "coming soon" explanation.
The new Working with Events page is only useful if readers can find
it from where they actually are — the create-collection guide, the
marketplace mutation reference, the wallet-daemon walkthrough. Add a
short forward-pointer at each natural insertion point so a reader
mid-task doesn't have to know the events page exists to discover it.

Two flavours of pointer. High-value events (chain assigns an ID —
collection_id on createCollection, listing_id on createListing,
group_id on createTokenGroup; or carries useful payload — Minted /
Transferred) name the specific event and what it contains. Confirmation-
only events (createToken, attribute changes, freeze/thaw, burn/destroy,
accept-collection-transfer) get a generic "an event is emitted on
FINALIZED confirming the action" line. Either way the page body stays
clean — the Subscan workaround lives only on working-with-events and
websocket-events, never repeated.

Also two cleanups on stale event references in user-facing pages:
section 6 of using-the-enjin-platform no longer lists "Listen to
Platform Websocket Events" as a documented method (the feature isn't
shipped), and the wallet-daemon page's "Wallet Daemon Events" section
becomes "How the Wallet Daemon Works" — the diagram and the polling-
based flow are still accurate, but the WebSocket subscribe/emit steps
described an unshipped feature.

Touched 5 Group A pages (existing event mentions cleaned up + linked),
9 managing-tokens guides, 1 managing-users guide, and 3 API-ref
mutations pages.
Add a Get Test Funds section to using-the-enjin-platform.md describing
the built-in Canary faucet (switch to Canary, click Faucet icon, 250 cENJ
to the Wallet Daemon's wallet). Renumber subsequent sections; all
inbound links target explicit {#finding-tokens} / {#batching-transactions}
anchors so renumbering doesn't break them.

Replace every link to the sunset faucet.canary.enjin.io across 16 pages
with a forward-pointer to the new {#canary-faucet} section.

Faucet icon screenshot is a placeholder PNG — to be replaced.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace v2 wallet-connect / SimpleTransferToken / GetWallet flows with
the current Platform behavior:

- Section 2: Connect Your Wallet -> Set Up the Wallet Daemon for
  Signing Transactions. v3 has no manual wallet-connect step; signing
  is handled by the daemon (or optionally a Managed Wallet per tx).
  Drop the connect-wallet gif and the now-redundant Daemon bullet from
  Section 7.
- Section 3: Fix the broken Tokens-page link. Token creation goes
  Collections -> click collection -> Create Token. Drop both v2 images.
  Note transactions sign automatically via the daemon.
- Section 4: Drop the RequestAccount / GetAccountVerified GraphQL impl
  (both removed). Keep the conceptual intro + add a callout that the
  native wallet linking flow is in development.
- Section 5: Replace SimpleTransferToken with CreateTransaction +
  transferToken discriminator, flat tokenId, uuid/action response.
  Add events forward-pointer.
- Section 6: Replace GetWallet + tokenAccounts.edges.node with v3
  GetAccount + flat tokens list. Note per-token amount support is
  being added.
- Intro callout: refresh bullets to match the new flow.
- Forward-pointer to the new Canary faucet section from Section 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the 1x1 placeholder PNG with the actual screenshot of the
network selector + faucet icon in the Platform UI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…eenshot

The Managed Wallet callout in Section 2 was redundant for a starter
audience — Managed Wallets remain mentioned in the Next Steps section
where they belong as an advanced feature.

Add the new v3-collection-card.png screenshot showing the new
collection with its assigned ID, illustrating step 1 of Section 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The v2 QR-based wallet verification flow (RequestAccount /
GetAccountVerified / GetWallet(verificationId:)) is gone in v3. A native
wallet-request feature is in development that will let applications link
a player's wallet once and then send transaction-signing prompts
straight to their Enjin Wallet app. Refocus this page on that flow:
drop all v2 code, explain the two-step model conceptually, and add
four gameplay-oriented example use cases (consume a potion, list a
sword on the marketplace, infuse ENJ, stake into a nomination pool)
with the standard FINALIZED-event forward-pointer. A "Coming soon"
callout flags that exact shapes will land once v3 exits beta.

Renumbered so this page precedes Using WalletConnect, and patched the
inbound link from the Quick Start guide.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The C# and C++ SDK examples on the four pages under
04-software-development-kit/ all target the v2 schema and won't run
against the current Enjin Platform API. v3 SDKs aren't published yet,
so the SDK content is kept in place for reference but each page now
opens with the standard "SDKs are not yet available" warning, pointing
readers to How to Use GraphQL and the API Reference for current shapes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Reframes the top-level platform page around the v3 reality — a single
hosted GraphQL API reached via one endpoint with a per-request network
selector, not the v2 "open-source framework with optional packages"
model. Drops the three-versions callout, the v2 mutation screenshot,
and the v2 dashboard screenshot (with Beams in the sidebar) — keeps
the still-accurate architecture diagram and points at the migrated
using-the-platform page for current dashboard visuals.

The Notable Platform Features list is curated to the v3 surface:
single-endpoint multi-chain routing, managed wallets, wallet linking
and transaction requests (forward-pointer to sending-wallet-requests),
asset management with CreateBatchTransaction, marketplace, fuel-tank
dispatching, token groups, and direct Relaychain support
(nomination-pool participation). Drops the v2-era Data Management
Tool, Quick Sync, Auto-Healing, and Modular Design / Laravel Horizon
subsections — internal-architecture and open-source-only framing
that no longer applies. Auto-teleport stays. Enjin Platform Cloud
section reframed from "the easy variant" to "fully hosted, no
servers to maintain, your keys stay yours."

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- TokenID Structure: drop the platform-side encoder section (ERC1155 /
  Hash / StringId / Integer wrappers gone in v3); replace with a short
  "Passing a Token ID to the API" note explaining that tokenId is now a
  flat BigInt and the encoding is done client-side. Add Token Groups
  pointer for shared-metadata grouping.

- Brand Collab NFTs: rewrite the Development section around GetAccount
  (GetWallet/tokenAccounts removed in v3); use the flat Account.tokens
  list, filter client-side by collection.id. Trim Best Practices to the
  bullets the v3 API still supports (per-token-balance and reserved
  balance not currently exposed). Keep the ERC-1155 Grouped NFTs section
  and add a Token Groups pointer for new projects.

- ENJ Infusion: rewrite around the createToken / mutateToken /
  infuseToken discriminators on CreateTransaction. Drop the v2
  EncodableTokenIdInput wrapper, the console.enjin.io workaround
  (mutateToken now accepts anyoneCanInfuse), and the bare Authorization
  header. Add the SDKs-not-available callout above the language tabs
  and the standard MultiTokens.Infused event-mention forward pointer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Metadata Standard: convert both BatchSetAttribute examples to the
  batchSetTokenAttribute discriminator on CreateTransaction; drop the
  v2 EncodableTokenIdInput wrapper (tokenId is now a flat BigInt);
  switch response selection to uuid/action/state.

- Dynamic Metadata: convert the BatchSetAttribute example to the
  batchSetCollectionAttribute discriminator (input {id, attributes});
  same response shape switch. Hierarchy explanation and Pinata setup
  steps are unchanged.

- Enjin Tech-Stack: drop Beam from the ecosystem-component list and
  from the crowdfunding paragraph (Beam is removed in v3). All three
  architecture/use-case images verified accurate (no Beam shown); kept
  as-is.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Drop Multiverse Codex framing throughout; replace with the
  Multiverse Dashboard at multiverse.nft.io.

- Replace the monthly-quest model (12-quest yearly schedule, item-
  per-month rewards, Discord-linked wallet onboarding) with the new
  seasonal Multiverse Quest: four seasons per year, 2026 theme
  "Essence of the Elements" (Fire/Water/Wind/Earth), Essence-NFT
  progress meter (auto-minted on wallet connect, up to 180 per game
  per season), end-of-season draw chances weighted by Essence.

- Simplify "How to Join" to just Spark Program + reach out to Enjin
  (drop the "adopt 5 items including the chest + the current quest's
  item" requirement).

- Keep the Primythical Chest as its own section but reposition it as
  a showcase Multiverse Item distributed via promotions, not the
  primary onboarding funnel (Essence now plays that role). Drop the
  Beam QR-scan distribution language (Beam is removed in v3).

- Keep the Multiverse Items integration section. Update the broken
  inbound link to wallet connecting: was the deprecated
  01-using-wallet-connect path, now points at sending-wallet-requests
  (the v3 native wallet-linking flow). reading-user-wallets link is
  unchanged.

- Multiverse Collection table: add a Group ID column. Group IDs for
  the 12 grouped items were queried live via
  GetCollection(2967).tokenGroups against the v3 API and matched to
  each item by fetching the group URI's JSON (which carries the item
  name). The 4 single-token "stackable" items (Primythical Chest,
  Aeonclipse Key, Archspire, Tramyarus Quarter) have no group — shown
  as "—". Added a forward-pointer to the Token Groups query reference
  alongside the existing GetTokens pointer.

- Drop all 5 outdated graphics: the hero "Unlock an ecosystem of
  monthly active players" banner, the Beam-QR Primythical Chest
  promo, the QR-to-Codex flow diagram, the dated "Next Quest" UI
  shot, and the Discord-flow "Multiverse Quests for monthly
  retention" diagram. All reference superseded systems.

- Cut the heavy marketing-prose "self-sustaining cycle" 4-bullet
  list; replace with a single concise sentence in the intro.

- Update three glossary entries to match: the_multiverse (drop
  Codex + monthly), multiverse_quests (mention seasonal + Essence
  + 2026 theme), primythical_chest (drop QR-scan specifics).
  multiverse_codex glossary entry left in place but is no longer
  referenced anywhere in the docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
For the 12 grouped Multiverse Items in the Multiverse Collection
table, swap the per-token-id nft.io asset link
(nft.io/asset/2967-<tokenId>) for the group's nft.io page
(nft.io/collection/the-multiverse/groups/<groupId>) — the group
page is a better landing target than a single token instance.

The 4 single-token stackable items (Primythical Chest, Aeonclipse
Key, Archspire, Tramyarus Quarter) keep their existing asset
links — they have no group.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop the v2 'developers access Beam through the Platform API' framing —
in v3, Beams are created and managed on nft.io/beam/dashboard. Replace
the incorrect 'smart-contract vault' explanation with the actual flow
(user signs a transaction authorising a daemon wallet to transfer
tokens on their behalf). Rename 'Enjin Web Wallet' to 'Quick Wallet'.

Replace the developer-API Types of Beams section (Mint on Demand /
Batch Mint / Integer Range / Set Attributes on the Go) with the two
distribution modes surfaced on NFT.io (One multi-use QR / Many
single-use QRs) plus a brief mention of claim conditions and per-device
limits. Mint on Demand isn't supported on NFT.io and was dropped.
- docs/06-enjin-products/05-beam.md: tighten copy ("You hold assets…").
- docs/04-enjin-blockchain/02-enjin-relaychain/02-enjin-relaychain.md:
  drop "Enjin Beam, Enjin Web Wallet" from the integration list.
- docs/05-enjin-platform/02-chain-state.md: update the GetCollection
  example to v3 (network/chain args, id: arg, mintPolicy/transferPolicy
  wrappers, forceCollapsingSupply, isFrozen). Drop the Relay-style
  tokens connection. Response JSON verified live against collection 2000.
- docs/02-guides/01-platform/01-managing-tokens/06-create-qr-drops.md:
  deleted. Built entirely on the v2 Beam API surface; Beams are now
  created on the NFT.io Beam Dashboard, covered by the rewritten
  06-enjin-products/05-beam.md.
These fields were previously dropped from the token-groups and marketplace
query examples because selecting them returned an internal server error. The
platform fixed both, so the examples now select them and the stale bug
callouts are removed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Lead with the recommended managed-wallet + Require Signature pattern
(cover players' fees via a tank locked to your daemon wallet), document
tank setup as an Enjin Blockchain Console walkthrough, and reduce
dispatching to the single fuelTank argument. Drop the obsolete
CreateFuelTank / Dispatch / DispatchAndTouch flows.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Lead the recommended-setup section with what tank rules can do in
general before introducing Require Signature by its end goal, and point
readers at the Platform settings page for their daemon wallet address.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New v3 page (no v2 equivalent). Leads with the cold-owner/hot-operator
pattern using a Tokens proxy dispatched through proxyAddress, with a
secondary player-delegation case. Adds a proxy glossary term.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Remove v2 versioning and beta banner; make v3 the only docs version

Treat v3 as the main, only-released docs now that v2 registration is
closed and v2 is being retired:

- Strip the versions config (lastVersion, includeCurrentVersion, the
  v3 (Beta)/v2 version map and unreleased banner) so the current docs
  serve at the site root with no version label and no beta banner.
- Remove the version dropdown from the navbar.
- Delete the frozen v2 content: versions.json, versioned_docs/, and
  versioned_sidebars/.

Also hide the in-progress Fetching Token Holders guide by prefixing
its filename with "_" (no backlinks to it; sidebar is autogenerated).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
Fix v2 links on Tools page (faucet + platform URLs)

- Replace the standalone v2 faucet (faucet.canary.enjin.io) with the
  built-in Canary faucet, linking to its docs section.
- Point all Enjin Platform links at the v3 platform
  (platform.beta.enjin.io), replacing the v2 platform.canary.enjin.io
  and platform.enjin.io URLs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
Restructure Tools page for single v3 platform; drop "reads need no auth" note

Tools page: the v2 page assumed two separate platforms (canary vs
mainnet). v3 is one chain-agnostic dashboard with a network selector, so
collapse the duplicated platform/API links into a single "Platform & API"
section and keep only a small Canary-vs-mainnet table for the tools that
genuinely differ (marketplace, explorer, native coin). Preserve the
recommended testnet-first, then-mainnet flow.

using-enjin-api: remove the note stating read-only queries are publicly
accessible without an API token, since that access is temporary.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
@Bradez Bradez changed the title docs(ECO-588): migrate wallet-management guides to Platform v3 [ECO-588]: Migrate Guides to Platform v3 Jun 1, 2026
@Bradez Bradez merged commit ade76b7 into enjin:master Jun 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants