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

@serkhani/yocheckout

v1.0.7

Published

The Direct Access Engine for DeFi. Powered by YO Protocol.

Readme

YO Checkout Widget 🛒⚡️

The "Direct Access Engine" for DeFi. A plug-and-play React component that allows any Web3 platform (wallets, NFT marketplaces, dApps, or DAOs) to embed high-yield YO savings accounts directly into their UI.

Turn your users' idle capital into productive yield at the exact moment of a transaction—while earning a revenue share for your platform.

Features

  • 🚀 1-Click Operations: Instantly deposit assets into or redeem shares from YO Vaults.
  • 📊 Deep Insights: Real-Time TVL, Ranking, Strategy performance curves, and Live Protocol Activity.
  • 📱 Fully Responsive: Adapts seamlessly to sidebars, modals, or full-page layouts.
  • 📂 Multi-Chain Explorer: Intelligent link generation for Ethereum, Base, and Arbitrum transactions.
  • 💰 Revenue Share: Define your project's partnerFeeBps to earn yield sharing automatically.
  • 🎨 Elite Theming: Premium dark/light modes with custom primary color support to match your brand.

Installation

We offer two ways to integrate YO Checkout:

Option 1: The Magic CLI (Recommended)**

Automatically inject the component, strap your Web3 providers, and install all required dependencies (React Query, wagmi, viem, etc.):

npx @serkhani/yocheckout init

Option 2: Standard NPM Install**

npm install @serkhani/yocheckout @yo-protocol/react @yo-protocol/core wagmi viem @tanstack/react-query lucide-react

Setup Providers

Wrap your application with the required Web3 and YO Protocol providers in your main.tsx or App.tsx:

import { WagmiProvider, createConfig, http } from 'wagmi'
import { mainnet, arbitrum, base } from 'wagmi/chains'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { YieldProvider } from '@yo-protocol/react'

const queryClient = new QueryClient()

export const wagmiConfig = createConfig({
  chains: [mainnet, arbitrum, base],
  transports: {
    [mainnet.id]: http(),
    [arbitrum.id]: http(),
    [base.id]: http(),
  },
})

function App() {
  return (
    <WagmiProvider config={wagmiConfig}>
      <QueryClientProvider client={queryClient}>
        {/* Replace your partnerId or partnerAddress below to earn revenue share */}
        <YieldProvider defaultSlippageBps={50}>
          <YourApp />
        </YieldProvider>
      </QueryClientProvider>
    </WagmiProvider>
  )
}

Basic Usage

import { YoCheckout } from '@serkhani/yocheckout'

function CheckoutPage() {
  return (
    <YoCheckout 
      vaultAddress="0x0000000f2eb9f69274678c76222b35eec7588a65" // yoUSD on Base
      partnerAddress="0xYourWalletAddress" 
      partnerFeeBps={50}     // 0.5% Rev Share
      theme="dark"           // "light" | "dark"
      primaryColor="#D6FF34" // Your brand accent
      connectButton={<MyCustomConnectButton />} // Optional: uses internal button if omitted
    />
  )
}

Component Props

| Prop | Type | Default | Description | | :--- | :--- | :--- | :--- | | vaultAddress | Address | undefined | The initial YO Vault to load. If omitted, uses the vault selector. | | primaryColor | string | #D6FF34 | Accent color for buttons, charts, and highlights. | | theme | 'light' \| 'dark' | 'dark' | Overall color scheme of the widget. | | partnerAddress | Address | undefined | The wallet to receive revenue share from deposits. | | partnerFeeBps | number | 0 | The commission taken by your platform (e.g. 50 = 0.5%). | | connectButton | ReactNode | undefined | Pass your existing wallet connect button to use your app's modal/logic. |

Wallet Connection

The YO Checkout widget is built to be "context-aware".

  • If the user is already connected elsewhere on your site (using the same wagmi config), the widget will skip the connection screen and show the deposit/redeem form instantly.
  • If the user is NOT connected, the widget provides a beautifully themed fallback "Connect Wallet" button.
  • Customization: Use the connectButton prop to pass your own button component. This is recommended if you have a specific wallet selection modal you'd like the widget to trigger.

Demo Implementations

This project includes high-fidelity mock implementations:

  • NFT Marketplace (/mocks/NFTMarketplace.tsx): Suggests depositing sale proceeds into yield vaults.
  • Job Board (/mocks/JobBoard.tsx): Allows freelancers to move recently paid USDC into savings instantly.

License

MIT © YO Protocol