npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

Iโ€™ve always been into building performant and accessible sites, but lately Iโ€™ve been taking it extremely seriously. So much so that Iโ€™ve been building a tool to help me optimize and monitor the sites that I build to make sure that Iโ€™m making an attempt to offer the best experience to those who visit them. If youโ€™re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, ๐Ÿ‘‹, Iโ€™m Ryan Hefnerย  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If youโ€™re interested in other things Iโ€™m working on, follow me on Twitter or check out the open source projects Iโ€™ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soonโ€“ish.

Open Software & Tools

This site wouldnโ€™t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you ๐Ÿ™

ยฉ 2026 โ€“ย Pkg Stats / Ryan Hefner

@tari-project/tarijs

v0.14.6

Published

> **๐Ÿš€ The complete TypeScript toolkit for building on Tari** โ€” Connect any wallet, query the blockchain, and create powerful dApps with confidence.

Readme

tari.js

๐Ÿš€ The complete TypeScript toolkit for building on Tari โ€” Connect any wallet, query the blockchain, and create powerful dApps with confidence.

npm version License Documentation

โœจ What makes tari.js special?

  • ๐Ÿ”Œ Universal Wallet Support โ€” MetaMask, Wallet Daemon, Universe, WalletConnect โ€” all with one API
  • ๐Ÿ›ก๏ธ Privacy-First โ€” Built-in confidential transactions and zero-knowledge proofs
  • ๐Ÿ“ฑ Developer Friendly โ€” Full TypeScript support, intuitive APIs, comprehensive docs
  • โšก Production Ready โ€” Battle-tested, optimized, and actively maintained

Installing Tari.js

Tari.js provides the following packages:

| Package Name | Description | |----------------------------------------|------------------------------------------------------------| | @tari-project/tarijs-all | Everything: core, signers, providers, builders, permissions| | @tari-project/tarijs | Core Tari.js types and helpers | | @tari-project/tarijs-builders | Transaction builder (fluent API) | | @tari-project/indexer-provider | Read-only blockchain provider | | @tari-project/wallet-daemon-signer | Wallet Daemon signer & provider | | @tari-project/metamask-signer | MetaMask signer | | @tari-project/tari-universe-signer | Tari Universe wallet signer | | @tari-project/wallet-connect-signer | WalletConnect signer | | @tari-project/tari-permissions | Permissions utility | | @tari-project/typescript-bindings | TypeScript type definitions and low-level structures | | @tari-project/tarijs-types | Re-exports typescript-bindings while adding tari.js specific types |

Recommended: Use the Main Package

This installs everything (providers, signers, core modules, builders, types and permissions) with one package:

npm install @tari-project/tarijs

You can then import any of the required packages in your application:

import {
  IndexerProvider,
  WalletDaemonTariSigner,
  TariUniverseSigner,
  WalletConnectTariSigner,
  TransactionBuilder,
  TariPermissions,
} from "@tari-project/tarijs";

If you are interested in development on the bleeding edge, you can install the following:

npm install @tari-project/tarijs-all

This will install ALL tari.js modules. Some of these may be under active development, experimental or not properly documented.

Optional: Install only the modules you require

If you require a minimal or custom setup, you can install the packages individually. This is not recommended unless you have a firm understanding of the purpose and function of the different packages.

Example of dependencies if you just wish to query Ootle states on the chain:

npm install @tari-project/indexer-provider
npm install @tari-project/wallet-daemon-signer   # Only if you need wallet data models/types

Core Packages

  • @tari-project/tarijs-builders
    npm install @tari-project/tarijs-builders

Providers

  • @tari-project/indexer-provider

    npm install @tari-project/indexer-provider
  • @tari-project/wallet-daemon-signer

    npm install @tari-project/wallet-daemon-signer

Signers

  • @tari-project/metamask-signer

    npm install @tari-project/metamask-signer
  • @tari-project/tari-universe-signer

    npm install @tari-project/tari-universe-signer
  • @tari-project/wallet-connect-signer

    npm install @tari-project/wallet-connect-signer

Helpers

  • @tari-project/tari-permissions
    npm install @tari-project/tari-permissions

๐ŸŽฏ Quick Start (5 minutes)

Get your first Tari app running in minutes:

# Install tari.js
npm install @tari-project/tarijs-all

# Run your first connection test
node -e "
import { WalletDaemonTariSigner, TariPermissions } from '@tari-project/tarijs-all';
const wallet = await WalletDaemonTariSigner.buildFetchSigner({
  serverUrl: 'http://localhost:18103',
  permissions: new TariPermissions()
});
console.log('Connected to Tari!');
"

๐Ÿ‘‰ Complete Installation Guide | 5-Minute Tutorial

๐Ÿ—๏ธ What You Can Build

๐Ÿช™ DeFi Applications

// Transfer tokens
const transaction = new TransactionBuilder()
  .feeTransactionPayFromComponent(account.address, "100")
  .callMethod({
    componentAddress: account.address,
    methodName: 'withdraw'
  }, [{ type: 'Amount', value: '1000' }])
  .build();

๐ŸŽฎ Gaming & NFTs

// Call a smart contract function
const transaction = new TransactionBuilder()
  .feeTransactionPayFromComponent(account.address, "100")
  .callFunction({
    templateAddress: nftTemplate.address,
    functionName: 'mint_nft'
  }, [{ name: 'metadata', value: { name: "Epic Sword", rarity: "legendary" } }])
  .build();

๐Ÿ’ผ Enterprise Solutions

// Multiple operations in one transaction
const transaction = new TransactionBuilder()
  .feeTransactionPayFromComponent(account.address, "100")
  .callMethod({ componentAddress: account1, methodName: 'withdraw' }, [amount1])
  .callMethod({ componentAddress: account2, methodName: 'withdraw' }, [amount2])
  .build();

๐Ÿ”— Supported Wallets

| Wallet | Best For | Status | |--------|----------|--------| | ๐Ÿ–ฅ๏ธ Tari Wallet Daemon | Servers, advanced features | โœ… Production | | ๐ŸฆŠ MetaMask | Browser apps, familiar UX | โœ… Production | | ๐ŸŒŒ Tari Universe | Mobile, native experience | โœ… Production | | ๐Ÿ“ฑ WalletConnect | Cross-platform, mobile-first | โœ… Production |

๐Ÿ“š Documentation Hub

๐Ÿš€ Get Started

๐Ÿ“– Guides & Examples

๐Ÿ”ง Reference


๐Ÿ› ๏ธ Contributing & Development

Want to contribute? We'd love your help! Here's how to get started:

๐Ÿš€ Quick Development Setup

# 1. Clone with required dependencies
git clone https://github.com/tari-project/tari.js
git clone https://github.com/tari-project/tari-ootle ../tari-ootle

# 2. Install toolchain
curl -fsSL https://moonrepo.dev/install/proto.sh | bash
proto use

# 3. Build everything
pnpm install
moon :build

# or target individual packages with 
moon <package>:build

๐Ÿงช Run the Example App

cd packages/tarijs/example
cp .env.example .env    # Configure your wallet endpoints
pnpm run dev           # Start development server

๐Ÿ“ฆ Docker Development

docker build -t tarijs .
docker create --name tarijs-build tarijs
docker cp tarijs-build:/app/combined_dist/ ./dist

๐Ÿ“– Documentation Development

moon tari-docs:start   # http://localhost:3000/tari.js/

Need help getting started? Check our Contributing Guide or ask in GitHub Discussions.

๐Ÿค Community & Support

๐Ÿ“„ License

This project is licensed under the BSD 3-Clause License โ€” see the LICENSE file for details.


Built with โค๏ธ by the Tari Project

Website โ€ข Blog โ€ข Twitter โ€ข Discord