Skip to main content

Feed Creation

Anyone can create a data feed on Molpha by connecting an API endpoint to the protocol. This guide walks you through the process.

Prerequisites

Before creating a feed, you’ll need:
  • API Endpoint — A publicly accessible API or protected API with credentials
  • JSONPath Selector — Knowledge of how to extract the value from the API response
  • Solana Wallet — With USDC for creation fees
  • Feed Configuration — Decide on update frequency and subscription duration

Creating a Feed

Step 1: Prepare Your API

Your API should return data in a consistent format. For example:
{
  "bitcoin": {
    "usd": 45000.50
  },
  "ethereum": {
    "usd": 2800.75
  }
}

Step 2: Define Your Feed Specification

A feed specification includes:
FieldDescriptionExample
sourceAPI endpoint URLhttps://api.example.com/v1/price
selectorJSONPath to extract value$.bitcoin.usd
frequencyUpdate interval (seconds)60
signatures requiredMin number of node signatures needed to update the feed3

Step 3: Submit via Dashboard

  1. Visit the Molpha Dashboard
  2. Click “Create Feed”
  3. Fill in your feed specification
  4. Choose subscription duration (30-365 days)
  5. Pay creation fee in USDC

Step 4: Verification

After submission:
  1. Verifier nodes start fetching from your API
  2. Nodes validate and sign results
  3. Once quorum is reached, feed becomes active
  4. Updates are published according to your specified frequency

Feed Types

Public API Feeds

Feeds created for public use, sponsored feeds
  • Immutable -> once created configuration cannot be changed
  • Explorable though feed limits
  • Anyone can consume data onchain
  • There can be a consumer price set by the feed creator or they

Personal API Feeds

Feeds created for personal use only
  • Owner can update the configuration anytime
  • not explorable
  • owner can set the consumers

Feed Management

Updating Feed Configuration

You can update (Personal feeds only):
  • Update frequency
  • Signatures threshold
  • Subscription extension

Feed Lifecycle

  1. Draft — Created but not yet active
  2. Active — Receiving updates from verifiers
  3. Archived — Subscription expired, no longer updating