Enjin Relaychain Data: Index ENJ Transfers, Staking, and Extrinsics
Index the Enjin Relaychain's extrinsics, ENJ transfers, and staking calls, delivered to your own database. Real-time and complete historical data, no node to run.
The Enjin Blockchain is purpose-built for games and apps, with NFTs implemented at the protocol level. It is split in two: the Enjin Relaychain, a Substrate network optimized for security, network synchronicity, and block validation, secured by nominated proof-of-stake with staking available from the Enjin Wallet, and the Enjin Matrixchain, where the multi-token, marketplace, and fuel tank pallets live. Indexing Co's Enjin feed follows the Enjin Relaychain. You can read how the team frames it at enjin.io and in the Enjin Relaychain docs.
The Relaychain is where ENJ moves between accounts and where validators and nominators secure the network. In the data, that is a Substrate block with a header and a list of extrinsics: the paraInherent.enter and timestamp.set inherents in every block, plus signed calls such as balances.transferAllowDeath. Indexing Co covers the Enjin Relaychain in a single pipeline, lets you shape those extrinsics into rows, and delivers them to your own PostgreSQL, warehouse, or webhook. Real-time and full history, with no node to operate.
Why Enjin data is hard
paraInherent.enter, the inherent that brings Matrix Chain candidates into the relay, plus timestamp.set. Many blocks carry nothing else. Filtering that out cheaply without losing signed activity is part of the job.
balances.transferAllowDeath arrive as comma-formatted planck strings that overflow standard integers. They have to be normalized and stored at full precision, or balances drift.
What Indexing Co delivers for Enjin
Stand up and maintain the Substrate stack yourself.
- Run an Enjin Relaychain archive node or rent a Substrate RPC.
- Decode extrinsics against the right runtime metadata per block.
- Map positional args per call and normalize planck amounts.
- Build backfill, runtime-upgrade handling, and delivery from scratch.
One pipeline sources, decodes, and delivers the Enjin Relaychain to your store.
- Every extrinsic with method, signer, nonce, hash, and decoded args.
- Shaped by your JavaScript transform, filtered to the calls you need.
- Lands in your PostgreSQL, BigQuery, warehouse, or webhook.
- Real-time delivery plus complete backfilled history. No node, no RPC babysitting.
What you can index
| Enjin Relaychain data | For example |
|---|---|
| ENJ transfers | balances.transferAllowDeath with sender, destination, and amount |
| Staking and nomination | Validator staking and nomination pool extrinsics with signer and args |
| Signed extrinsics | Any pallet.call with its signer, nonce, and args |
| Block headers | Block number, hash, parent hash, and timestamp.set time |
A transform, not a subgraph
You write the transform in JavaScript, not AssemblyScript, and change it without re-indexing from block zero. Indexing Co runs your function over each block server-side: pick the extrinsics you care about and return rows for your destination.
// Indexing Co transform: signed calls on the Enjin Relaychain as rows
function transform(block) {
const results = [];
const inherents = ['timestamp.set', 'paraInherent.enter'];
for (const ext of block.extrinsics || []) {
if (inherents.includes(ext.method)) continue;
const isTransfer = ext.method.startsWith('balances.transfer');
results.push({
chain: block._network,
block: block.blockNumber,
extrinsic_hash: ext.hash,
call: ext.method,
signer: ext.signer,
to: isTransfer ? ext.args[0].Id : null,
amount: isTransfer ? ext.args[1].replace(/,/g, '') : null,
});
}
return results;
}
Enjin with Indexing Co
You want full control of infrastructure and have the team to operate an Enjin Relaychain archive node, track runtime metadata, and build backfill and delivery in-house.
You want ENJ transfers and Relaychain extrinsics delivered to your own database as clean rows, with real-time plus complete history and no node to run.
Related Reading
FAQ
Is this the Enjin Relaychain or the Enjin Matrixchain?
The Enjin Relaychain. Every block carries the paraInherent.enter inherent that only a relay chain includes. Multi-token, marketplace, and fuel tank activity lives on the Matrixchain, which is a separate chain from this feed. Talk to us if you need Matrixchain data.
What is in each Enjin Relaychain block?
The block number, block hash, and header, plus an array of extrinsics. Each extrinsic carries its index, hash, signer, nonce, method in pallet.call form, and its decoded arguments.
Do I need to run an Enjin node?
No. Indexing Co sources Enjin Relaychain blocks for you, including full history, so you never operate an archive node or track runtime metadata yourself.
How do I handle ENJ amounts?
Amounts arrive in planck as comma-formatted strings. Strip the commas in your transform, as in the example above, and store them as numeric or string columns at full precision.
Where does the Enjin data go?
Into your own destination: PostgreSQL, BigQuery, a warehouse, or a webhook. You define the output schema and own the storage.
Get Started
Index the Enjin Relaychain in minutes. Set up your first ENJ transfer or staking pipeline without running a node.