A web application for discovering and browsing X402 protocol services from the Coinbase Developer Platform. This app fetches X402 services via the discovery API, stores them in a Supabase database, and provides an intuitive interface for filtering and exploring available services.
- Service Discovery: Fetch X402 services from the Coinbase API via a serverless edge function
- Database Storage: Persist services in Supabase for fast querying and offline access
- Advanced Filtering: Filter services by category, network, and search terms
- Service Details: View detailed information about each service including:
- Resource URL and description
- Accepted payment assets and amounts
- Network information
- Supported HTTP methods
- Input/output schemas
- Custom metadata
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS
- Icons: Lucide React
- Database: Supabase (PostgreSQL)
- API Proxy: Supabase Edge Functions (Deno)
App.tsx- Main application component with filtering and service managementcomponents/ServiceCard.tsx- Card display for individual servicescomponents/ServiceDetailsModal.tsx- Modal for detailed service informationservices/x402Service.ts- Business logic for fetching and syncing serviceslib/supabase.ts- Supabase client configuration
supabase/functions/fetch-x402-services/- Edge function to proxy Coinbase API requests (bypasses CORS)supabase/migrations/- Database schema with RLS policies
Table: x402_services
id- UUID primary keyresource_url- Unique service URLname- Service namedescription- Service descriptioncategory- Service category (nft, tokens, wallet, data, defi, general)accepted_assets- JSON array of accepted payment assetsmax_payment_amount- Maximum payment amountpayment_timeout- Payment timeout in secondsnetwork- Blockchain network (e.g., base)supported_methods- Array of HTTP methodsinput_schema- JSON schema for inputsoutput_schema- JSON schema for outputsmetadata- Additional service metadatalast_synced_at- Last sync timestampcreated_at- Creation timestampupdated_at- Update timestamp
-
Environment variables are pre-configured in
.env -
Install dependencies:
npm install
-
Start development server:
npm run dev
-
Build for production:
npm run build
- Sync Services: Click "Sync Services" to fetch the latest X402 services from the Coinbase API
- Search: Use the search bar to filter services by name or description
- Filter by Category: Select a category (NFT, Tokens, Wallet, Data, DeFi, General)
- Filter by Network: Filter services by blockchain network
- View Details: Click on any service card to see detailed information
- Row Level Security (RLS) enabled on all database tables
- Public read access for service data
- Edge function handles API authentication securely
- No API keys exposed to the frontend
MIT