RFP Object Standard v1.0.0
Status: v1.0.0 (Published) License: CC0 1.0 Universal Extends: DAOIP-5, schema.org/Grant
Overview
The RFP Object Standard defines a machine-readable format for web3 funding opportunities — grants, RFPs, bounties, fellowships, and hackathons. It extends the DAOIP-5 grant framework with fields specific to discovery, aggregation, and provenance tracking.
Hierarchy
FundingSource → DAOIP-5 "Grant System"
└── FundingOpportunity → DAOIP-5 "Grant Pool" (extended)
└── Application → DAOIP-5 "Grant" (future)FundingOpportunity Schema
Identity
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID v7 | Yes | Time-sortable unique identifier |
externalId | string | No | DAOIP-5 formatted ID (e.g., eip155:1:grant:ef-esp-2024-privacy) |
slug | string | Yes | URL-friendly identifier ([a-z0-9-]+) |
Content
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Human-readable title, max 500 chars |
description | string (Markdown) | Yes | Full description in Markdown |
summary | string | Yes | Plain text summary, max 280 chars |
rfpType | enum | Yes | One of: rfp, grant, bounty, fellowship, hackathon |
Funding
| Field | Type | Required | Description |
|---|---|---|---|
fundingMechanism | string | No | DAOIP-5 mechanism enum (31 types) |
budgetMin | number | No | Minimum budget in currency |
budgetMax | number | No | Maximum budget in currency |
currency | string (ISO 4217) | Yes | Default: USD |
Dates
| Field | Type | Required | Description |
|---|---|---|---|
opensAt | ISO 8601 datetime | No | When applications open |
closesAt | ISO 8601 datetime | No | Application deadline |
projectDuration | string | No | Expected duration (e.g., "3-6 months") |
Classification
| Field | Type | Required | Description |
|---|---|---|---|
status | enum | Yes | One of: draft, open, closing_soon, closed, awarded |
categories | string[] | Yes | Topic categories (e.g., ["infrastructure", "research"]) |
ecosystems | string[] | Yes | Ecosystem tags (e.g., ["ethereum", "optimism"]) |
tags | string[] | Yes | Free-form tags |
Source & Provenance
| Field | Type | Required | Description |
|---|---|---|---|
sourceId | UUID | Yes | FK to FundingSource |
applicationUrl | URL | Yes | Link to original application page |
sourceUrl | URL | Yes | Where this listing was found |
submittedBy | string | Yes | User ID or publisher ID |
submittedAt | ISO 8601 datetime | Yes | When submitted to RFP Hub |
verifiedBy | string | No | Verifier ID |
verifiedAt | ISO 8601 datetime | No | When verified |
publisherType | enum | Yes | community or verified_publisher |
Metadata
| Field | Type | Required | Description |
|---|---|---|---|
eligibility | string[] | Yes | Eligibility requirements |
requiredCredentials | string[] | Yes | Required credentials |
contactEmail | string (email) | No | Contact email |
logoUrl | URL | No | Logo/image URL |
System
| Field | Type | Required | Description |
|---|---|---|---|
createdAt | ISO 8601 datetime | Yes | Record creation time |
updatedAt | ISO 8601 datetime | Yes | Last update time |
version | integer | Yes | Optimistic concurrency version |
isActive | boolean | Yes | Soft delete flag |
duplicateOf | UUID | No | FK for duplicate resolution |
FundingSource Schema
| Field | Type | Required | Description |
|---|---|---|---|
id | UUID | Yes | Unique identifier |
name | string | Yes | Organization name |
slug | string | Yes | URL-friendly identifier |
description | string | No | Organization description |
websiteUrl | URL | No | Organization website |
logoUrl | URL | No | Organization logo |
contactEmail | string (email) | No | Contact email |
ecosystems | string[] | Yes | Ecosystems this source funds |
isActive | boolean | Yes | Whether source is active |
DAOIP-5 Compatibility
This standard maintains backwards compatibility with DAOIP-5:
FundingSourcemaps to DAOIP-5 "Grant System"FundingOpportunityextends DAOIP-5 "Grant Pool" withrfpType,budgetRange,eligibility,tags,ecosystems, andprovenancefieldsexternalIduses DAOIP-5's ID format for interoperabilityfundingMechanismuses DAOIP-5's enumeration of 31 funding mechanism types
JSON Schema
Machine-readable JSON Schema definitions are available at:
- API endpoint:
GET /api/v1/schema - Generated from Zod schemas in
packages/schema/
Versioning
This standard follows semantic versioning. Breaking changes require a major version bump. The current version is embedded in the API path (/api/v1/).