{"product_id":"tollbooth-web","title":"@tollbooth-dpyc\/web","description":"\u003cdiv\u003e\n\u003cp\u003eEvery operator front end in this collection is this package with its own features laid over the top.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eInstall the package. Wrap your app in the shell.\u003c\/strong\u003e Sign-in, the wallet, the account page and the client that talks to your MCP all arrive working, so the only code you write is the part that makes your site yours.\u003c\/p\u003e\n\u003cp\u003eWhat comes in the box: \u003cem\u003eAppShell\u003c\/em\u003e and \u003cem\u003eSiteNav\u003c\/em\u003e for the frame, \u003cem\u003eNpubGate\u003c\/em\u003e and \u003cem\u003eSessionKeyClaim\u003c\/em\u003e for Nostr DM challenge sign-in backed by an in-browser session key, \u003cem\u003eWalletCard\u003c\/em\u003e, \u003cem\u003eWalletPage\u003c\/em\u003e, \u003cem\u003eCouponsPanel\u003c\/em\u003e and \u003cem\u003eUsageSummary\u003c\/em\u003e for balances and top-ups, \u003cem\u003ePatronFundingStatus\u003c\/em\u003e and \u003cem\u003eOperatorFundingStatus\u003c\/em\u003e for the two sides of the ledger, \u003cem\u003eNostrProfilePanel\u003c\/em\u003e and \u003cem\u003eAvatarPicker\u003c\/em\u003e for identity, \u003cem\u003eTableShell\u003c\/em\u003e with \u003cem\u003eTableFilter\u003c\/em\u003e, \u003cem\u003eSortHeader\u003c\/em\u003e and \u003cem\u003ePageControls\u003c\/em\u003e for every data view a service needs, and \u003cem\u003eThemeToggle\u003c\/em\u003e, \u003cem\u003eTimezonePicker\u003c\/em\u003e, \u003cem\u003eErrorBoundary\u003c\/em\u003e, \u003cem\u003eBuildInfoPanel\u003c\/em\u003e and \u003cem\u003eDebugPanel\u003c\/em\u003e for the housekeeping nobody wants to write twice.\u003c\/p\u003e\n\u003cp\u003eThe hooks carry the state: \u003ccode\u003euseSession\u003c\/code\u003e, \u003ccode\u003euseTopUp\u003c\/code\u003e, \u003ccode\u003euseTheme\u003c\/code\u003e, \u003ccode\u003euseTimezone\u003c\/code\u003e and \u003ccode\u003euseDebugLog\u003c\/code\u003e. Underneath them, \u003ccode\u003ecallTool\u003c\/code\u003e and \u003ccode\u003ecallToolWithContent\u003c\/code\u003e are typed wrappers over the standard DPYC tools — balance, top-up, statement, price preview, profile — so every front end in the fleet asks its operator the same questions in the same way, and \u003ccode\u003emakeMcpProxy\u003c\/code\u003e hands you the Cloudflare Pages Function to sit in front of it.\u003c\/p\u003e\n\u003cp\u003eTwo of the pieces exist because they are the ones a site would otherwise get subtly wrong. Time zones convert with daylight saving handled properly rather than by offset arithmetic, and the debug log scrubs sensitive values before anything reaches a console a patron could open.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eAt a glance\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e🔓 Apache 2.0 top to bottom — no open core, no paid tier\u003cbr\u003e📦 Zero runtime dependencies. Peers are React 19, nostr-tools, lucide-react and the Model Context Protocol SDK\u003cbr\u003e🎨 Ships \u003ccode\u003etheme.css\u003c\/code\u003e design tokens, with Tailwind styled through CSS variables so a site can retheme without forking\u003cbr\u003e🤝 Implements the patron half of the DPYC Social Contract — the server half is the Python wheel\u003cbr\u003e🔑 No password and no account anywhere in the flow. A patron signs in as an npub and nothing else\u003cbr\u003e📜 Patent pending, US Prov. App. No. 64\/045,999\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eLinks\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e📦 npm: \u003ca href=\"https:\/\/www.npmjs.com\/package\/@tollbooth-dpyc\/web\"\u003enpm i @tollbooth-dpyc\/web\u003c\/a\u003e\u003cbr\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0635\/4737\/5683\/files\/GitHub-Mark.png?v=1787792523\" alt=\"GitHub\" width=\"15\" height=\"15\" style=\"vertical-align:text-bottom\"\u003e GitHub: \u003ca href=\"https:\/\/github.com\/lonniev\/tollbooth-web\"\u003elonniev\/tollbooth-web\u003c\/a\u003e\u003cbr\u003e👀 \u003ca href=\"https:\/\/tollbooth-dpyc.com\"\u003etollbooth-dpyc.com\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Tollbooth DPYC","offers":[{"title":"Default Title","offer_id":67599569715267,"sku":null,"price":0.0,"currency_code":"USD","in_stock":false}],"url":"https:\/\/cafe.tollbooth-dpyc.com\/products\/tollbooth-web","provider":"Good Brew","version":"1.0","type":"link"}