Skip to content

Grapevine.fyi Docs

Grapevine lets developers monetize data through feeds and entries using micropayments on Base.

Perfect for:
  • 📊 API data feeds (market prices, analytics, etc.)
  • 📰 Content subscriptions (articles, research, etc.)
  • 🔗 Real-time data streams (IoT, sensors, etc.)
Key Features:
  • 💰 Micropayments in USDC on Base
  • 🔐 Wallet-based authentication
  • 🎯 Multiple content formats (JSON, text, etc.)

Quick Links

Networks

EnvironmentURLChainCurrency
Testnetapi.grapevine.marketsBase Sepolia (84532)Test USDC
Mainnetapi.grapevine.fyiBase (8453)USDC

Getting Started

Using the SDK (Recommended)

npm install @pinata/grapevine-sdk
import { GrapevineClient } from '@pinata/grapevine-sdk';
 
const grapevine = new GrapevineClient({
  network: 'testnet',
  privateKey: process.env.PRIVATE_KEY
});
 
// Create your data feed
const feed = await grapevine.feeds.create({
  name: 'Market Data Feed',
  description: 'Real-time crypto prices'
});
 
// Add data entries
const entry = await grapevine.entries.create(feed.id, {
  content: JSON.stringify({
    symbol: 'BTC',
    price: 42000,
    timestamp: Date.now()
  }),
  title: 'Bitcoin Price Update',
  mime_type: 'application/json',
  is_free: false
});

For React Apps (Wagmi)

import { useGrapevine, useGrapevineReady } from '@pinata/grapevine-sdk/react';
import { useWalletClient } from 'wagmi';
 
function App() {
  const { data: walletClient } = useWalletClient();
  
  // Address is automatically extracted from walletClient
  const grapevine = useGrapevine({
    walletClient,
    network: 'testnet'
  });
  
  const isReady = useGrapevineReady(grapevine);
  
  // Use grapevine client when ready...
}

See the Quick Start guide for complete setup instructions.