Skip to main content

Documentation Index

Fetch the complete documentation index at: https://injectivelabs-mintlify-jp-developers-first-half-1777019423.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Example code snippets to query data related to the permissions module on chain.

Using gRPC

Fetch all namespaces

import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcPermissionsApi } from "@injectivelabs/sdk-ts/client/chain";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcPermissionsApi = new ChainGrpcPermissionsApi(endpoints.grpc);

const allNamespaces = await chainGrpcPermissionsApi.fetchAllNamespaces();

console.log(allNamespaces);

Fetch a namespace based on the denom

import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcPermissionsApi } from "@injectivelabs/sdk-ts/client/chain";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcPermissionsApi = new ChainGrpcPermissionsApi(endpoints.grpc);

const subdenom = "NINJA";
const includeRoles = true;

const namespace = await chainGrpcPermissionsApi.fetchNamespaceByDenom({
  subdenom,
  includeRoles: includeRoles,
});

console.log(namespace);

Fetch all roles that are associated to an address based on the denom

import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcPermissionsApi } from "@injectivelabs/sdk-ts/client/chain";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcPermissionsApi = new ChainGrpcPermissionsApi(endpoints.grpc);

const injectiveAddress = "inj...";
const subdenom = "NINJA";

const addressRoles = await chainGrpcPermissionsApi.fetchAddressRoles({
  injectiveAddress,
  denom: subdenom,
});

console.log(addressRoles);

Fetch all addresses that are associated to a given role for a denom

import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcPermissionsApi } from "@injectivelabs/sdk-ts/client/chain";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcPermissionsApi = new ChainGrpcPermissionsApi(endpoints.grpc);

const subdenom = "NINJA";
const role = "role";

const addressesByRole = await chainGrpcPermissionsApi.fetchAddressesByRole({
  subdenom,
  role: role,
});

console.log(addressesByRole);

Fetch vouchers for a given injective address

import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
import { ChainGrpcPermissionsApi } from "@injectivelabs/sdk-ts/client/chain";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcPermissionsApi = new ChainGrpcPermissionsApi(endpoints.grpc);

const injectiveAddress = "inj...";

const vouchers = await chainGrpcPermissionsApi.fetchVouchersForAddress(
  injectiveAddress
);

console.log(vouchers);
Last modified on April 24, 2026