Skip to content
The Ellcrys JavaScript Library
TypeScript JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Spell - Ellcrys Javascript API

Spell is a Javascript API which provides access to the JSON-RPC 2.0 API service exposed by ELLD node. It allows a user to perform actions such as constructing and sending transactions, fetching transactions and blocks and managing a local or remote Ellcrys node. You need to have access to a running Ellcrys node to use this library.

The full documentation can be found here



npm install @ellcrys/spell


yarn add @ellcrys/spell


To begin using the library, you must first create a Spell instance and provide connection information that will enable the client connect to the JSON-RPC 2.0 service.

import Spell from "@ellcrys/spell";

// Create a Spell Instance
const spell = new Spell();

// Provide connection options to a local or remote Ellcrys node
const resp = spell.provideClient({
	host: "",
	port: 8999,
	username: "admin", // optional
	password: "secret", // optional

// spell.provideClient returns a promise that is resolved
// when the node responds to an initial ping message.
resp.then(async () => {
	// do something with spell
	const basic = await spell.node.basic();

Once spell has been initialized with a valid node connection information. You can start accessing the RPC methods. You can get the balance of an account like this:

spell.ell.getBalance("e2763...").then((bal) => {
	console.log(bal); // "20.00"

Calling RPC Methods

Spell closely replicates the same namespace-based structure used to organize the JSON-RPC 2.0 methods of an Ellcrys node. For example, RPC methods are named and addressed in the following format:

 - namespace: The group name a method belongs to.
 - method: Is the name of the method.

A method getBalance of a namespace ell can be accessed like this:


TypeScript Support

The library includes TypeScript types within it. You can use spell like this:

import Spell from "@ellcrys/spell";


Find the complete documentation here


We appreciate contributions. They help move us faster and improve the quality of the project. Please follow this steps to contribute:

  • Fork this repository and clone it locally. git clone
  • Add the remote upstream git remote add upstream git://
  • Pull upstream changes git fetch upstream
  • Create a new branch to work on. Create your branch from dev.
  • Add your changes, add or adapt tests, run linter and generate doc.
  • Push your branch to your fork.
  • Create a pull request targeting the dev branch.



npm i                 // Install dependencies
npm run ts-watch      // Watch and compile TypeScript files into `lib`
npm run gen-docs      // Re-generate documentation
npm run test          // Runs all tests

Useful Links

You can’t perform that action at this time.