Developer Documentation

Everything you need to build applications powered by the FavOS Protocol.

Getting Started
Learn the basics of FavOS Protocol and how to integrate it into your application.
Protocol Architecture
Understand how the different components of the protocol work together.
SDK & API
Access our developer tools to build applications on top of FavOS Protocol.
Create an Idea or IF, THEN
Learn how to create and manage ideas and conditional milestones.
Milestone Escrow Setup
Configure milestone-based funding with smart contract escrow.
Rewards & Revenue APIs
Implement reward systems and revenue sharing in your application.

Introduction to FavOS Protocol

FavOS Protocol is a Web3 infrastructure for idea validation, milestone funding, and co-ownership. It provides a comprehensive set of tools for developers to build applications that enable community-based validation and funding of ideas.

API Reference

The FavOS Protocol offers comprehensive API endpoints for developers to integrate with the protocol. Both RESTful and GraphQL interfaces are available for maximum flexibility.

Core Components

  • Idea Discovery & Validation: AI-powered discovery and community validation mechanisms.
  • Milestone-Based Funding: Smart contract escrow for conditional funding and milestone tracking.
  • Tokenized Co-Ownership: Mechanisms for distributing ownership and revenue among contributors.
  • SDKs & APIs: Developer tools for integrating protocol functionality into applications.

Quick Start Example

// Initialize the FavOS Protocol SDK
import { FavOSProtocol } from '@favos/sdk';

// Configure with your API keys
const favos = new FavOSProtocol({
  apiKey: 'YOUR_API_KEY',
  environment: 'testnet', // or 'mainnet'
});

// Create a new Idea
const idea = await favos.ideas.create({
  title: 'My Awesome Project',
  description: 'A community-owned platform for creators',
  tags: ['#web3', '@creator-economy', '+platform'],
});

// Add an IF, THEN condition (Milestone)
const milestone = await favos.milestones.create({
  ideaId: idea.id,
  condition: {
    type: 'VOTE_COUNT',
    target: 100,
    deadline: '2025-09-01T00:00:00Z',
  },
  reward: {
    // On success, release funds to the creator
    distribution: [
      { recipient: 'CREATOR', percentage: 70 },
      { recipient: 'REFERRERS', percentage: 20 },
      { recipient: 'PROTOCOL', percentage: 10 },
    ],
  },
});

// Start a Pre-Sell campaign
const campaign = await favos.campaigns.create({
  ideaId: idea.id,
  milestoneId: milestone.id,
  pricing: {
    type: 'BONDING_CURVE',
    startPrice: '10',
    maxPrice: '50',
  },
  tokenizedRewards: true,
});

// Example of fund distribution
// This is used as an example for the fund-distribution-example section
const distribution = await favos.funds.distribute({
  milestoneId: milestone.id,
  distribution: milestone.reward.distribution,
});

// Listen for milestone updates
favos.milestones.on('completed', (milestone) => {
  console.log('Milestone completed!', milestone);
  console.log('Funds distribution initiated');
});

// This marks the end of the SDK example section
// and the fund-distribution-example anchor point
document.getElementById('fund-distribution-example');

Need Help?

Our team is here to support you in implementing FavOS Protocol in your application.

Community Support

Join our Discord community to connect with other developers and get help with your implementation.

Developer Office Hours

Schedule a call with our technical team to get personalized help with your integration.

Ready to Start Building?

Get access to our developer tools and start integrating FavOS Protocol into your application today.