Skip to main content

Build smarter
applications on the blockchain

Build hassle-free on all EVM chains.
Build faster and better decentralized apps in no-time.

Deliver data to your users, FAST

Kenshi deep index allows retrieving, storing, and indexing blockchain events into Kenshi's geographically distributed data clusters for faster access.
Use your favorite GraphQL client to query the blockchain
import { ApolloClient, gql, InMemoryCache } from "@apollo/client/core/core.cjs";

const client = new ApolloClient({
  uri: "https://api.kenshi.io/index/graphql",
  cache: new InMemoryCache(),
});

const query = gql`
  {
    getEntries(blockchain: "binance-mainnet") {
      event {
        name
      }
    }
  }
`;

const { data } = client.query({ query });
See more examples on GitHub
Use MongoDB Query Language to run complex queries on the blockchain
import axios from "axios";

const request = {
  blockchain: "binance-mainnet",
  query: {
    "event.name": "Transfer",
    "block.number": { $gte: 20740000 },
  },
};

const data = await axios.post("https://api.kenshi.io/index/mql", request);
See more examples on GitHub
Use Webhooks to get push notifications from the blockchain
import express from "express";
import parser from "body-parser";

const app = express();
app.use(parser.json());

app.post("/", (req, res) => {
  console.dir(req.body, { depth: null });
  res.status(200).end("OK");
});

app.listen(8080);
See more examples on GitHub

Automate the world, with blockchain

Connect your smart contract to the world! Kenshi R-API can stream events from your smart contracts directly to already existing automation tools!

Connect your smart contract

Kenshi Oracle Network is a high-performance asynchronous oracle platform currently hosting the Kenshi VRF.

Get started

Use our libraries and sample codes to get started in no time.

Use VRF to get randomness on the blockchain
//SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.17;

import "@kenshi.io/vrf-consumer/contracts/VRFConsumer.sol";

contract D20 is VRFConsumer {
    constructor() {
        setupVRF(VRFCoordinatorAddress);
    }

    function getRandomness() public {
        uint256 requestId = requestRandomness();
    }

    function fulfillRandomness(uint256 requestId, uint256 randomness) internal override {
        // Process randomness here!
    }
}
View on GitHub.

Introducing the Kenshi VRF oracles.

VRFs play an important role in the blockchain, as the blockchain lacks the native functionality to securely generate random numbers due to its deterministic nature...

Introducing the Kenshi Deep Indexing Service.

Information published on the blockchain is publicly available and accessible by anyone who needs it. However, traversing the event logs and searching for specific events is not an easy task...