โš ๏ธBlast API (blastapi.io) ends Oct 31. Migrate to Dwellir and skip Alchemy's expensive compute units.
Switch Today โ†’
Skip to main content

Build on Enjin Matrix โ€“ The NFT-Native Application Layer

Enjin RPC
With Dwellir, you get access to our global Enjin network which always routes your API requests to the nearest available location, ensuring low latency and the fastest speeds.

Get your API key โ†’

Why Build on Enjin Matrix?โ€‹

๐ŸŽฎ NFT-First Runtimeโ€‹

  • Protocol-level NFT minting, on-chain metadata, and marketplace enforcement remove the need for bespoke smart contracts (Enjin Blockchain overview).
  • ENJ-denominated fees are tuned for games and app developers, giving predictable operating costs for live services (Enjin Blockchain overview).

โš™๏ธ Fuel Tanks & Managed Walletsโ€‹

  • Fuel tanks sponsor transaction fees for specific players or apps, smoothing onboarding into Matrixchain (Fuel Tanks docs).
  • Managed wallets let users receive NFTs before creating self-custodial accounts, ideal for mainstream launches (Managed wallets docs).

๐Ÿ›ก๏ธ Dual-Layer Securityโ€‹

  • Matrixchain execution is secured by the Enjin Relaychain, combining Aura authoring with relay-governed GRANDPA finality (Enjin Blockchain overview).
  • Custom matrixchains can connect while inheriting the same security and cross-chain routing primitives provided by the Relaychain (Enjin Blockchain overview).

Quick Start with Enjinโ€‹

๐Ÿ”— RPC Endpoints

Matrix Mainnet
Mainnet
Production Matrixchain secured by the Enjin Relaychain.
WSS
wss://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY
โœ“ Archive Nodeโœ“ Trace APIโœ“ Debug APIโœ“ WebSocketโœ“ Fuel Tanksโœ“ Multitoken APIs

Quick Connect:

curl -X POST https://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getBlock","params":[],"id":1}'
Get your API key

Sign up at the Dwellir dashboard to generate an API key, then replace YOUR_API_KEY in the endpoints above. Keys can be scoped per environment to manage limits and analytics.

Installation & Setupโ€‹

import { ApiPromise, WsProvider } from '@polkadot/api';

const provider = new WsProvider('wss://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY');
const api = await ApiPromise.create({ provider });

const [chain, runtime, head] = await Promise.all([
api.rpc.system.chain(),
api.rpc.state.getRuntimeVersion(),
api.rpc.chain.getHeader()
]);

console.log(`Connected to ${chain} specVersion ${runtime.specVersion}`);
console.log(`Best block #${head.number.toNumber()} (${head.hash.toHex()})`);

const validator = 'efS1ZdvCHHviX7qnTGZEZQX9Uz3qpibG9L5RpF9niM8ne5RBn';
const account = await api.query.system.account(validator);
console.log('Validator free balance:', account.data.free.toHuman());

Network Informationโ€‹

Genesis Hash

0x3af4ff48ec76d2efc8476730f423ac07e25ad48f5f4c9dc39c778b164d808615

Verified via chain_getBlockHash(0)

Runtime Spec

1022

Transaction version 11 (state_getRuntimeVersion)

SS58 Prefix

1110

system_properties result

Native Token

ENJ

18 decimals (system_properties)
Matrix Ecosystem Snapshot (3 Oct 2025)
  • Relay chain: Enjin Relaychain (0xd8761d3c88f26dc12875c00d3165f7d67243d56fc85b4cf19937601a7916e5a9, verified via chain_getBlockHash(0) on archive.relay.blockchain.enjin.io)
  • Finality: Aura authorship with GRANDPA finality shared by the Enjin Relaychain
  • Address format: SS58 prefix 1110 returned by system_properties on archive.matrix.blockchain.enjin.io
  • Runtime: spec version 1022, transaction version 11 per state_getRuntimeVersion on archive.matrix.blockchain.enjin.io
  • Explorers: Matrix Console (mainnet & canary)
  • Canary runtime: Enjin Matrix Canary (wss://api-enjin-canary-matrix.n.dwellir.com/YOUR_API_KEY)

Available JSON-RPC Methodsโ€‹

Core Substrate Namespacesโ€‹

GroupPurposeReference
system_*Node identity, health, and network propertiessystem_chain, system_health, system_properties, system_version
chain_*Retrieve block data and follow new or finalized headschain_getBlockHash, chain_getBlock, chain_getHeader, chain_getFinalizedHead, chain_subscribeNewHeads, chain_subscribeFinalizedHeads
state_*Read storage, query metadata, and execute runtime APIsstate_call, state_getKeys, state_getKeysPaged, state_getMetadata, state_getRuntimeVersion, state_getStorage
author_*Submit signed extrinsics and stream lifecycle eventsauthor_submitExtrinsic, author_submitAndWatchExtrinsic, author_pendingExtrinsics, author_rotateKeys
payment_*Estimate fees payable in ENJpayment_queryInfo, payment_queryFeeDetails
rpc_methodsEnumerate every RPC namespace exposed by your noderpc_methods
childstate_*Interact with child tries used by palletschildstate_getKeys, childstate_getKeysPaged, childstate_getStorage
offchain_*Inspect or mutate node-local offchain worker storageoffchain_localStorageGet, offchain_localStorageSet

Matrix-Specific Extensionsโ€‹

NamespacePurposeNotes
fuelTanks_*Determine sponsorship coverage from fuel tanksRequires authenticated access; discover endpoints via rpc_methods.
multitokens_*Read cross-game NFT inventory and claimable dropsReturns managed-wallet data for onboarding flows.
ismp_*Inspect interoperability packets and consensus stateEnables monitoring for custom matrixchains secured by Enjin Relaychain.
transactionWatch_v1_*Subscribe to transaction status without author RPCLightweight watchers for infrastructure dashboards.

Tip: Use rpc_methods to verify which optional namespaces (fuel tanks, multitokens, ISMP) are enabled for your API key and environment.

Additional Substrate namespaces such as childstate_*, offchain_*, and read-proof helpers follow the standard Substrate semantics; their availability depends on node configuration and authorization. Use rpc_methods to inspect support before invoking them from clients.

Common Integration Patternsโ€‹

  • Fuel tank sponsorship โ€“ poll fuelTanks_selectFuelTank to determine which tank will cover fees for a user, then handle top-ups via governance-controlled accounts.
  • Managed wallet onboarding โ€“ detect custodial wallets via metadata and migrate them to self-custody by monitoring Balances.Transfer events to managed accounts.
  • NFT marketplace indexing โ€“ subscribe to chain_subscribeFinalizedHeads, pull block extrinsics, and decode marketplace pallets to track listings, royalty enforcement, and burns.

Performance Best Practicesโ€‹

  • Prefer WebSocket endpoints for subscriptions and batched queries; fall back to HTTPS for stateless reads.
  • Cache runtime metadata keyed by specVersion to avoid re-fetching large SCALE blobs on each connection.
  • Use state_getKeysPaged with modest page sizes (โ‰ค500) when walking storage maps to respect rate limits.
  • Implement exponential backoff and retry logic for transient 429 or networking errors.

Troubleshootingโ€‹

  • Connection refused โ€“ ensure YOUR_API_KEY is present and the hostname matches the region you activated in Dwellir.
  • Invalid SS58 โ€“ use prefix 1110 when encoding Matrixchain addresses; relay chain accounts use prefix 2135.
  • Extrinsic failures โ€“ decode the DispatchError using the latest metadata; many marketplace pallets return module-specific error codes.
  • Missing custom RPCs โ€“ extend Polkadot.js type bundles with Enjin-specific RPC definitions when API/INIT warns about undecorated methods.

Smoke Testsโ€‹

Run these endpoints after deployment to validate connectivity:

# Health (should report peers > 0)
curl -s https://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"system_health","params":[],"id":1}'

# Latest finalized hash
curl -s https://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getFinalizedHead","params":[],"id":2}'

# Runtime versions
curl -s https://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"state_getRuntimeVersion","params":[],"id":3}'

# RPC surface area
curl -s https://api-enjin-matrixchain.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"rpc_methods","params":[],"id":4}'

Migration Guide (Polkadot/Westend โ†’ Enjin Matrix)โ€‹

  1. Endpoints โ€“ replace legacy Polkadot/Westend RPC URLs with Dwellir Matrix endpoints listed above.
  2. Address format โ€“ re-encode accounts with SS58 prefix 1110; update wallet tooling accordingly.
  3. Fee economics โ€“ call payment_queryInfo to account for ENJ-denominated fees and optional fuel tank sponsorships.
  4. Runtime pallets โ€“ verify availability of Matrix-specific pallets (fuel tanks, managed wallets) and adjust type bundles.
  5. Event handling โ€“ update indexers to interpret Enjin marketplace and multitoken events instead of Polkadot parachain events.

Resources & Toolsโ€‹


Ready to go live? Deploy against Matrix mainnet using Dwellirโ€™s globally anycasted infrastructure, then automate observability with the smoke tests above.