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

@entros/verify

v0.1.0

Published

Drop-in React component for Entros verification — popup-pattern, wallet-connected. The captcha-grade primitive integrators embed to send their users into the Entros verify flow.

Readme

@entros/verify

npm version

Drop-in React component for Entros verification on Solana. Click → popup window opens to entros.io → user completes wallet-connected verification → component fires onVerified with the on-chain attestation reference.

Source: github.com/entros-protocol/entros-verify · Hosted by entros.io.

npm install @entros/verify

Five-line usage

import { EntrosVerify } from "@entros/verify";

<EntrosVerify
  integratorKey="your-integrator-key"
  onVerified={(result) => unlockClaim(result.walletPubkey)}
/>

Result shape

interface EntrosVerifyResult {
  walletPubkey: string;        // base58 Solana pubkey
  attestationPda: string;      // base58 SAS attestation PDA
  txSig: string;               // base58 verification tx signature
  trustScore: number;          // current Trust Score (0–10000)
  cluster: "devnet" | "mainnet-beta";
}

Read the on-chain attestation from any Solana program or client. No API keys, no escrow, no per-call billing.

Full API

<EntrosVerify
  integratorKey="jupiter"          // required, registered with Entros
  cluster="devnet"                  // "devnet" | "mainnet-beta", default "devnet"
  minTrustScore={200}               // optional gate
  popupWidth={480}                  // CSS px, default 480
  popupHeight={720}                 // CSS px, default 720
  timeoutMs={5 * 60 * 1000}         // 5 min default
  popupBlockedFallback={true}       // inline retry UI when popup blocked
  className="..."                   // applied to trigger button
  style={{ ... }}
  onVerified={(r) => {}}            // required
  onError={(e) => {}}               // optional — covers cancel, reject, timeout, etc.
  onProgress={(p) => {}}            // optional — heartbeats from popup
>
  Verify with Entros                {/* custom button content */}
</EntrosVerify>

Error reasons

onError receives one of:

  • wallet_rejected — user denied wallet connection or signing
  • validation_failed — verification did not pass server-side checks
  • network_error — popup encountered a network failure mid-flow
  • user_canceled — user closed the popup before completing
  • origin_invalid — integrator origin was not on the Entros allowlist
  • popup_blocked — browser blocked window.open()
  • timeout — popup remained open longer than timeoutMs without completing
  • unknown — fallback for unexpected failure modes

Specific server-side rejection signals are deliberately not surfaced to the client.

v1 limitations

  • Devnet only. Mainnet support lands in v2.
  • Hardcoded integrator allowlist on the entros.io side. Self-serve integrator onboarding lands in v2.
  • Mobile browsers may open the popup as a new tab rather than a windowed popup. Mobile-Wallet-Adapter-aware mobile flow lands in v1.5.

Production-readiness

  • Origin gate on every postMessage (event.origin === "https://entros.io")
  • Replay protection via per-popup request_id
  • 5-minute timeout
  • Popup-blocked fallback with user-gesture retry
  • Idempotent cancel
  • React 19 typed strict-mode

License

MIT.