Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
ba4e5e8
Set up Docusaurus versioning: v2 default, v3 (Beta) at /v3
EtayM May 4, 2026
ceeb8a4
Rewrite v3 wallet-daemon setup page for binary-first install
EtayM May 4, 2026
0474977
Rewrite v3 Using-the-Enjin-API page for unified endpoint
EtayM May 6, 2026
062baea
Rewrite v3 How-to-Use-GraphQL page
EtayM May 6, 2026
57c4b8c
Rewrite v3 Using-the-Enjin-Platform page, drop v2/v3 framing
EtayM May 12, 2026
e4b19c5
Point v3 docs at platform.beta.enjin.io
EtayM May 12, 2026
2a6c789
Collapse Testnet/Mainnet callouts to single endpoint; swap remaining …
EtayM May 12, 2026
96ee3e4
Drop "Canary Platform" framing from quick-start-guide
EtayM May 12, 2026
bea056c
Migrate Creating Collections page to v3
EtayM May 13, 2026
9e0dea9
Migrate Creating Tokens page to v3
EtayM May 13, 2026
15c9c17
Migrate Creating a Currency Token page to v3
EtayM May 13, 2026
65339cc
Migrate Adding Metadata page to v3
EtayM May 13, 2026
79719d0
Migrate Minting Tokens page to v3
EtayM May 13, 2026
a8a5263
Migrate Transferring Tokens page to v3
EtayM May 13, 2026
ee3d20e
Migrate Freezing & Thawing page to v3
EtayM May 13, 2026
eb978df
Migrate Melting/Destroying page (collection-destroy sub-section defer…
EtayM May 13, 2026
48f0b2a
Drop button-position cues across managing-tokens v3 pages
EtayM May 13, 2026
7ca3572
Drop v2/v3 version framing from managing-tokens guide bodies
EtayM May 13, 2026
4658c5f
Document the dashboard flow for Creating a Currency Token
EtayM May 13, 2026
c5e04c5
Document v3 dashboard flows: no Tokens page, batching via queue
EtayM May 13, 2026
00dd0cc
Add v3 dashboard screenshots and refine UI instructions
EtayM May 18, 2026
9693936
Update WalletConnect guide API calls to v3
EtayM May 18, 2026
9ad4936
Migrate Reading User Wallets guide to v3 API
EtayM May 18, 2026
28eee4d
Migrate Using Managed Wallets guide to v3 API
EtayM May 18, 2026
662d2b8
Migrate Destroying a Collection section to v3 API
EtayM May 24, 2026
2e78eda
Migrate transfer / accept collection ownership page to v3 API
EtayM May 24, 2026
0d6763d
Correct destroy-collection button labels in dashboard flow
EtayM May 24, 2026
ca819dd
Merge remote-tracking branch 'origin/master' into docs/ECO-588/platfo…
EtayM May 25, 2026
b1191fe
Ignore v3-*.json migration introspection scratch files
EtayM May 25, 2026
3efc2e8
Flag fuel-tank API reference as out-of-date pending rebuild
EtayM May 25, 2026
ac0de31
Migrate API reference overview to v3
EtayM May 25, 2026
42a8b58
Rewrite Important Arguments reference for v3
EtayM May 25, 2026
b8357aa
Rewrite Transactions mutations reference for v3
EtayM May 25, 2026
0b0feb4
Rewrite Wallets mutations reference for v3
EtayM May 25, 2026
392a3f9
Rewrite Wallets queries reference for v3
EtayM May 25, 2026
e506b34
Rewrite Collections queries reference for v3
EtayM May 25, 2026
41408f6
Rewrite Tokens queries reference for v3
EtayM May 25, 2026
334dd28
Rewrite Transactions queries reference for v3
EtayM May 25, 2026
e29b203
Rewrite Marketplace queries reference for v3
EtayM May 25, 2026
6ce8e76
Rewrite Collections mutations reference for v3
EtayM May 25, 2026
dac569e
Rewrite Tokens mutations reference for v3
EtayM May 25, 2026
f5c4732
Rewrite Marketplace mutations reference for v3
EtayM May 25, 2026
b3f87b9
Add API reference for token groups and nomination pools
EtayM May 25, 2026
58acc5e
Drop the \"introductory reference\" callout from API reference pages
EtayM May 25, 2026
3c531fd
Use Enjin's The Multiverse / Epochrome Sword as the canonical token-g…
EtayM May 25, 2026
6e9b48f
Stub websocket-events and working-with-events pages
EtayM May 26, 2026
92c30df
Cross-link the events docs from 18 user-facing pages
EtayM May 26, 2026
541e9ec
Document built-in Canary faucet and sweep sunset faucet links
EtayM May 26, 2026
327a000
Rewrite the Quick Start guide for v3
EtayM May 26, 2026
562319f
Add real Canary faucet icon screenshot
EtayM May 26, 2026
447bc74
Drop Managed Wallet callout from quick-start, add collection-card scr…
EtayM May 26, 2026
674571a
Rewrite Verifying Wallets as Sending Wallet Requests
EtayM May 27, 2026
e37b506
Flag SDK pages as out-of-date pending v3 SDKs
EtayM May 27, 2026
e7dd0b8
Rewrite the Enjin Platform overview page for v3
EtayM May 27, 2026
6a5685e
Migrate three advanced-mechanics pages to v3
EtayM May 27, 2026
54b624b
Migrate metadata-standard, dynamic-metadata, enjin-tech-stack to v3
EtayM May 27, 2026
658a7d0
Rewrite The Multiverse page for v3 and the seasonal quest model
EtayM May 27, 2026
da29d03
Link Multiverse Collection grouped items to their nft.io group page
EtayM May 27, 2026
aac1d9f
Rewrite Beam page around the NFT.io Beam Dashboard
EtayM May 27, 2026
6f98eb0
Migrate misc v3 pages and delete obsolete create-qr-drops guide
EtayM May 27, 2026
7f3a5e9
Restore TokenGroup.collectionId and Listing.type in API ref examples
EtayM May 28, 2026
b6b14bd
Rewrite Using Fuel Tanks for v3 around managed-wallet dispatching
EtayM May 28, 2026
810a94e
Clarify fuel tank rules intro and daemon address lookup
EtayM May 28, 2026
7d84a48
Add Using Proxies guide for delegated dispatching via proxyAddress
EtayM May 28, 2026
556c7f4
Fix broken WalletConnect link in transferring-tokens and freezing-tha…
EtayM May 28, 2026
9d91530
@
EtayM Jun 1, 2026
58ed09b
@
EtayM Jun 1, 2026
091f48a
@
EtayM Jun 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,9 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# v3 documentation migration working files (not for upstream)
v3-*.md
v3-*.json
summary.md
build-test/
226 changes: 87 additions & 139 deletions docs/01-getting-started/02-quick-start-guide.md

Large diffs are not rendered by default.

572 changes: 221 additions & 351 deletions docs/01-getting-started/04-using-the-enjin-platform.md

Large diffs are not rendered by default.

521 changes: 233 additions & 288 deletions docs/01-getting-started/05-using-enjin-api/01-how-to-use-graphql.md

Large diffs are not rendered by default.

90 changes: 52 additions & 38 deletions docs/01-getting-started/05-using-enjin-api/05-using-enjin-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,82 +8,95 @@ import GlossaryTerm from '@site/src/components/GlossaryTerm';

## Introduction to the Enjin API

The Enjin API is a set of programmatic interfaces that allow developers to interact with the Enjin Platform from their own applications. Built using <GlossaryTerm id="graphql" />, it enables clients to request exactly the data they need in a flexible and efficient way. Unlike traditional RESTful APIs, which require multiple endpoints for different data requirements, GraphQL enables more efficient data retrieval through a single endpoint. This flexibility reduces the number of network requests and optimizes performance, making it particularly advantageous for applications that require efficient data handling, such as blockchain and NFT platforms.
The Enjin API is a set of programmatic interfaces that allow developers to interact with the Enjin Platform from their own applications. Built using <GlossaryTerm id="graphql" />, it enables clients to request exactly the data they need in a flexible and efficient way. Unlike traditional RESTful APIs, which require multiple endpoints for different data requirements, GraphQL enables more efficient data retrieval through a single endpoint. This flexibility reduces the number of network requests and optimizes performance, making it particularly advantageous for applications that require efficient data handling, such as blockchain and NFT platforms.

:::info What you'll need:
- Some [Enjin Coin](/06-enjin-products/02-enjin-coin.md) to pay for <GlossaryTerm id="transaction_fees" />.
- You can obtain cENJ (Canary ENJ) for testing from the [Canary faucet](https://faucet.canary.enjin.io/).
- You can obtain cENJ (Canary ENJ) for testing from the [built-in Canary faucet](/01-getting-started/04-using-the-enjin-platform.md#canary-faucet) in the Platform UI.
- An [Enjin Platform Account](/01-getting-started/04-using-the-enjin-platform.md).
:::

:::tip New to GraphQL?
If you're more familiar with REST APIs, it's important to understand that our API uses GraphQL - a flexible and powerful query language for APIs. GraphQL works quite differently from REST, and knowing how to structure your queries and handle responses is essential for successful integration.\
We recommend reviewing our [How to Use GraphQL guide](/01-getting-started/05-using-enjin-api/01-how-to-use-graphql.md) to get started quickly and effectively.
We recommend reviewing our [How to Use GraphQL guide](/01-getting-started/05-using-enjin-api/01-how-to-use-graphql.md) to get started quickly and effectively.
:::

## Authentication

Access tokens assume a pivotal role in facilitating your application's interaction with the Enjin Platform API.
These tokens serve a dual purpose:
API tokens are used to authenticate your application's requests to the Enjin Platform. They serve a dual purpose:

- They grant your application access to the platform.
- They allow for automatic request approval and signing using the Wallet Daemon.
- They grant your application access to authenticated operations (mutations).
- They allow the Wallet Daemon to fetch and sign transactions on your behalf.

To make authenticated calls to the Enjin Platform:

1. login or create an account in the [Testnet Enjin Platform Cloud](https://platform.canary.enjin.io).
2. Create an API token if you haven't already.
3. When making HTTP requests to the GraphQL endpoints, include your API token in the request headers using the `Authorization` field:
1. Log in to the [Enjin Platform Cloud](https://platform.beta.enjin.io/).
2. Open your [account settings](https://platform.beta.enjin.io/settings) and create an API token if you haven't already.
3. Include the token in the `Authorization` header of your HTTP requests, prefixed with `Bearer`:

```
"Authorization": "<API Token Here>"
Authorization: Bearer <YOUR_API_TOKEN>
```

4. _(Optional)_ To automate requests made from the Enjin Platform using a wallet daemon, you need to configure your daemon with the API token.
For more details head over to [Using the Wallet Daemon](/01-getting-started/06-using-wallet-daemon.md)
4. _(Optional)_ To automate signing of transactions you create through the API, configure a Wallet Daemon with your API token.
For more details head over to [Using the Wallet Daemon](/01-getting-started/06-using-wallet-daemon.md).

## Endpoints & Queries
## Endpoint & Queries

Every data transfer strictly adheres to the HTTP/1.1 standard, with HTTPS encryption mandatory for all endpoints to ensure secure communication.

The Enjin API primarily utilizes GraphQL, meaning you'll be sending POST HTTP requests to specific endpoints with your GraphQL queries and mutations. This allows you to interact with the Enjin blockchain in a flexible and efficient manner.
The Enjin API uses GraphQL, meaning you'll be sending POST HTTP requests to a single endpoint with your GraphQL queries and mutations. This allows you to interact with the Enjin blockchain in a flexible and efficient manner.

:::tip SDKs for Streamlined Development
For developers looking for a more integrated experience, Enjin also provides official **Software Development Kits (SDKs)** for various programming languages. These SDKs wrap the underlying GraphQL API, offering convenient methods and abstractions to streamline development. You can find more information and links to the available SDKs on our [Software Development Kits (SDKs) page](/02-guides/01-platform/04-software-development-kit/04-software-development-kit.md).
:::

### Overview of GraphQL Endpoints
### GraphQL Endpoint

The Enjin API is structured around four distinct GraphQL endpoints, each designed to handle specific sets of queries and mutations. This segmentation allows for efficient and organized interactions tailored to different functional areas within the Enjin ecosystem:
The Enjin Platform serves all queries and mutations from a **single GraphQL endpoint**:

1. **Core Operations:** This endpoint handles fundamental blockchain operations such as creating collections, minting and transferring <GlossaryTerm id="multitoken" />s, freezing, and burning <GlossaryTerm id="multitoken" />s . It provides the essential tools for managing and interacting with <GlossaryTerm id="nft" />s on the Enjin Blockchain.
:::note GraphQL Endpoint
`https://platform.beta.enjin.io/graphql`
:::

2. **Marketplace:** Focused on marketplace activities, this endpoint encompasses operations like listing tokens for sale, purchasing tokens, and bidding on auctions. It facilitates seamless transactions and interactions within the Enjin Marketplace.
A single endpoint covers Core operations (collections, tokens, transfers, attributes), Marketplace, Fuel Tanks, and Nomination Pools.

3. **Beam:** The Beam endpoint manages operations related to the Beam system, which is used for distributing tokens claimable via QR codes. This feature is particularly useful for promotional activities and engaging user experiences.
### Selecting a Network and Chain

4. **Fuel Tanks:** This endpoint is dedicated to the Fuel Tank system, which allows for subsidizing transaction fees. It supports operations that manage and configure fuel tanks, enabling cost-effective transactions on the blockchain.
The Enjin Platform is chain-agnostic — the network and chain you want to operate on are passed as **arguments** on each query or mutation rather than being baked into the endpoint URL.

GraphQL queries and mutations are executed by sending POST HTTP requests to the corresponding endpoint:
Most operations accept two enum arguments:

:::note GraphQL Endpoints
### Testnet:
- **Core Operations** `https://platform.canary.enjin.io/graphql`
- **Marketplace** `https://platform.canary.enjin.io/graphql/marketplace`
- **Beam** `https://platform.canary.enjin.io/graphql/beam`
- **Fuel Tanks** `https://platform.canary.enjin.io/graphql/fuel-tanks`
### Mainnet:
- **Core Operations** `https://platform.enjin.io/graphql`
- **Marketplace** `https://platform.enjin.io/graphql/marketplace`
- **Beam** `https://platform.enjin.io/graphql/beam`
- **Fuel Tanks** `https://platform.enjin.io/graphql/fuel-tanks`
:::
Here is an example of an HTTP cURL post request to create a collection on the Canary blockchain, with the API Token provided:
| Argument | Values | Description |
|-----------|--------------------|-------------|
| `network` | `ENJIN`, `CANARY` | The network to target. `ENJIN` is mainnet, `CANARY` is the testnet. |
| `chain` | `MATRIX`, `RELAY` | Which chain on the selected network. `MATRIX` is the Matrixchain (where collections, tokens, and the marketplace live). `RELAY` is the Relaychain. |

Both default to `ENJIN` / `MATRIX` (mainnet Matrixchain) when omitted.

```graphql
query GetEnjinMatrixBalance {
GetAccount(
network: ENJIN
chain: MATRIX
address: "efQh8FzLm6oH3dmTU3HWqGrtm6Xcuu1WG33N2Ka9fzo5MFFAr"
) {
balance
}
}
```
curl --location --request POST 'https://platform.canary.enjin.io/graphql' \

To run the same query on the Canary testnet, change `network: ENJIN` to `network: CANARY`.

### Example Request

Here is an example of an HTTP cURL request to fetch an account's balance from the Canary Matrixchain, with an API token provided:

```bash
curl --location --request POST 'https://platform.beta.enjin.io/graphql' \
-H 'Content-Type: application/json' \
-H 'Authorization: Insert your API token here' \
-d '{"query":"mutation CreateCollection($forceCollapsingSupply: Boolean) {\r\n CreateCollection(\r\n mintPolicy: { forceCollapsingSupply: $forceCollapsingSupply }\r\n ) {\r\n id\r\n method\r\n state\r\n }\r\n}\r\n","variables":{"forceCollapsingSupply":false}}'
-H 'Authorization: Bearer <YOUR_API_TOKEN>' \
-d '{"query":"query { GetAccount(network: CANARY, chain: MATRIX, address: \"efQh8FzLm6oH3dmTU3HWqGrtm6Xcuu1WG33N2Ka9fzo5MFFAr\") { balance } }"}'
```

## API Reference
Expand All @@ -96,3 +109,4 @@ For a comprehensive guide on exploring and utilizing GraphQL queries and mutatio
- New to GraphQL? Learn how to structure queries and mutations in our [How to Use GraphQL guide](/01-getting-started/05-using-enjin-api/01-how-to-use-graphql.md).
- To automate signing requests, continue to the [Using the Wallet Daemon](/01-getting-started/06-using-wallet-daemon.md) page.
- Or, If you're ready to start building... [Create a Collection](/02-guides/01-platform/01-managing-tokens/01-creating-collections.md).
:::
Loading
Loading