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

@blockbolt/monad-wallet

v1.0.0

Published

BlockBolt package for Monad wallet

Readme

BlockBolt Monad Wallet SDK

The BlockBolt SDK for the Monad Wallet offers a streamlined and efficient way to integrate Monad blockchain payments. It provides a developer-friendly interface for processing transactions securely on the Monad chain. The SDK simplifies payment processing by handling transaction creation, signing, and status tracking, ensuring reliable delivery of payments to merchant addresses. By leveraging Viem's modern TypeScript support, it offers type-safe interaction with the Monad blockchain, making integration straightforward while maintaining high security standards.

Features

  • Simple payment SDK for Monad blockchain using BlockBolt
  • Built with Viem for modern TypeScript support
  • Full transaction receipt access
  • Explorer URL generation
  • Comprehensive error handling

Installation

npm install @blockbolt/monad-wallet

Usage

Basic Example

import { BlockBolt } from "@blockbolt/monad-wallet";
import { privateKeyToAccount } from "viem/accounts";

// Initialize the BlockBolt SDK
const monadSdk = new BlockBolt();

// Create payment details
const paymentDetails = {
  orderId: "ORDER123",
  amount: "0.01", // Amount in MON tokens
  merchantName: "Coffee Shop",
  merchantAddress: "0x55Eca4d519Ca2BdC60C8f886aB00B5281772E517",
};

const account = privateKeyToAccount("0xYourPrivateKeyHere");

// Make payment
async function sendPayment() {
  try {
    const result = await monadSdk.makePayment(account, paymentDetails);
    console.log(`Transaction sent! Hash: ${result.hash}`);

    // Get explorer URL
    const url = monadSdk.getExplorerUrl(result.hash);
    console.log(`View transaction: ${url}`);

    // Check transaction status
    const status = await monadSdk.getTransactionStatus(result.hash);
    if (status.status === "success") {
      console.log("Payment confirmed!");
    }
  } catch (error) {
    console.error("Payment failed:", error.message);
  }
}

sendPayment();

API Reference

BlockBolt

Main class for interacting with the BlockBolt Monad payment contract.

Constructor

constructor();

Initializes the SDK with the default contract address and Monad Testnet configuration.

Methods

makePayment
public async makePayment(
  account: Account,
  paymentDetails: PaymentDetails
): Promise<TransactionResult>

Makes a payment using the specified account and payment details.

Parameters:

  • account: Viem account object with the signer
  • paymentDetails: Object containing payment information
    • orderId: Unique identifier for the order
    • amount: Amount of MON tokens to send
    • merchantName: Name of the merchant
    • merchantAddress: Address of the merchant

Returns:

  • TransactionResult: Object containing the transaction hash
getTransactionStatus
public async getTransactionStatus(hash: Hash)

Gets the status and details of a transaction.

Parameters:

  • hash: Transaction hash to check

Returns:

  • Object containing:
    • status: Transaction status ('success' or 'reverted')
    • blockNumber: Block number where the transaction was mined
    • logs: Transaction logs
    • receipt: Full transaction receipt
getExplorerUrl
public getExplorerUrl(hash: Hash): string

Generates a block explorer URL for the transaction.

Parameters:

  • hash: Transaction hash

Returns:

  • URL string for the transaction on Monad block explorer

Error Handling

The SDK provides custom error classes for better error handling:

  • BlockBoltSDKError: Base error class for all SDK errors
  • TransactionError: Error related to transaction execution

Example:

try {
  await monadSdk.makePayment(account, paymentDetails);
} catch (error) {
  if (error instanceof TransactionError) {
    console.error("Transaction failed:", error.message);
  } else {
    console.error("Unknown error:", error);
  }
}

Development

Building

npm run build

Testing

npm test

License

MIT