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

@rajuice/celo-pulse

v1.0.10

Published

<div align="center"> <img src="public/logo.png" alt="CeloPulse Logo" width="150"/> <h1>CeloPulse — Proof-of-Activity dApp</h1> <p>The definitive Proof-of-Activity (PoA) dashboard for the Celo Ecosystem — <strong>MiniPay Ready</strong></p>

Readme

Vercel Deployment Network Next.js MiniPay


📌 Problem & Solution

The CeloPulse Dashboard is a fast, responsive, and data-rich Web3 application built specifically for the Celo Ecosystem. It incentivizes and visualizes high-frequency onchain interactions.

The Mechanism

  1. Connect Wallet: Seamlessly integrate with any Celo-compatible wallet including MiniPay via Ethers/Wagmi.
  2. Perform Micro-Actions: Trigger gamified, low-stakes interactions (Daily Check-ins, Streaks, Gaming) that write to Celo Smart Contracts.
  3. Earn Rewards: Achieve high ranks on the global leaderboard, earn badges, and win automatic CELO airdrops through the Reward Pool.

📱 MiniPay Integration

CeloPulse is fully optimized for MiniPay, Opera's self-custodial stablecoin wallet on Celo:

  • Auto-detection: Detects window.ethereum.isMiniPay to auto-connect without wallet popups
  • Fee Abstraction: All transactions use USDm (cUSD) as gas fee currency via Celo's fee abstraction (feeCurrency: 0x4F604735c1cF31399C6E711D5962b2B3E0225AD3)
  • No Chain Switching: Skips chain-switch dialogs when running inside MiniPay
  • Mobile-First UI: Responsive design optimized for MiniPay's WebView
  • Zero Friction: Users can daily check-in, play micro-actions, send tips, and claim rewards without gas popups

Testing with MiniPay

See the full guide: MINIPAY_TESTING.md

# 1. Start the dev server
npm run dev

# 2. Expose via ngrok
ngrok http 3000

# 3. Load the ngrok URL in MiniPay → Developer Settings → Load Test Page

🛠️ Tech Stack

  • Framework: Next.js 15 (App Router + Server Components)
  • Styling: Vanilla CSS Modules + Tailwind Utility Classes
  • Web3 Integration: ethers.js v6 + Custom Celo SDKs
  • Wallet: MiniPay + MetaMask + any EIP-1193 wallet
  • Analytics Visualization: recharts / custom SVGs integrated with the active Blockscout API feed
  • Smart Contracts: Solidity (Hardhat + OpenZeppelin)

📋 Smart Contracts (Celo Mainnet — Chain ID 42220)

All contracts are deployed and verified on Celo Mainnet via Blockscout:

| Contract | Address | Purpose | |----------|---------|---------| | ActivityManager | 0x52C26081bb28351Dae6A4D678B4b144bc5A0B956 | Handles 24h cycle check-ins and streak tracking | | RewardDistributor | 0xC0d5E5a0644CFFA5fE44fF1Cb542026e29E00c61 | Treasury vault for CELO reward distribution | | MicroActions | 0xDdD816E5e469279dcB385F039a470077b5F58930 | High-frequency gaming transactions (30s cooldown) | | Leaderboard | 0xb2137812BC7b1439C238693df4e2F7AB07691014 | Composite scoring from activity + micro-actions | | ReferralSystem | 0x7f4E1Cbe199B1ed7C85c382632Ee3B6fa7412838 | Dual-reward referral tracking |

Contract source code: packages/contracts/contracts/


🚀 Quick Start — Local Development

# 1. Install dependencies
npm install

# 2. Copy the environment variables
cp .env.example .env.local

# 3. Add your Blockscout API key to .env.local

# 4. Start the development server
npm run dev

Navigate to http://localhost:3000 to view your dashboard.


📁 Project Structure

celo-pulse/
├── apps/
│   └── frontend/           # Next.js frontend app
│       └── src/
│           ├── hooks/       # useWallet.ts (MiniPay auto-connect)
│           ├── components/  # UI components (GasBanner, NetworkBadge, etc.)
│           └── app/         # Next.js App Router pages
├── packages/
│   ├── contracts/           # Solidity smart contracts (Hardhat)
│   │   ├── contracts/       # .sol files
│   │   ├── scripts/         # Deploy scripts
│   │   └── test/            # Contract tests
│   ├── celo-activity-helper/  # TypeScript SDK
│   ├── celo-airdrop-sdk/    # Airdrop SDK
│   ├── core/                # Shared utilities
│   └── sdk/                 # Client SDK
├── src/                     # Root-level source
├── MINIPAY_TESTING.md       # MiniPay testing guide
└── README.md                # This file

🔗 Deployed Contracts Map

| Contract Role | Responsibility | |--------------|----------------| | ActivityManager | Handles 24h cycle check-ins and calculates global streaks. | | MicroActions | Allows rapid 30s-cooldown gaming actions resulting in 1-tx each. | | RewardDistributor| Liquidity pool which dispenses rewards upon milestones. | | ReferralSystem | Manages the dual-reward invite tracking mechanism. | | Leaderboard | Calculates ranks based on composite onchain weighting. |


🧪 Environmental Considerations

Ensure .env.local is fully populated. It MUST include your Blockscout API credentials specifically configured for the Celo Mainnet (42220). Wait for 3-5 seconds on first load for the real-time API charts to inject data.


📜 License

This project is covered under the MIT open-source license.