Skip to main content
Datanets (referred to as subnets in the API) are the curated data markets at the heart of the Reppo protocol. Each datanet has its own token economics — access fees, publishing fees, and per-epoch REPPO and primary-token emissions — all of which are configured on-chain and then recorded via these endpoints. Authenticated endpoints require a valid privy-token cookie.

List my datanets


Returns all datanets created by the authenticated user. Auth: Privy cookie Response

Example


Create a datanet draft


Creates a new datanet draft. The datanet is not live on-chain until you call the publish endpoint. Returns the internal ID of the newly created draft. Auth: Privy cookie

Request body

string
required
Creator type. Must be one of individual or team.
string
required
Display name for the datanet. Maximum 100 characters.
string (uri)
URL to the datanet’s cover image. Optional.
string
required
Description of the datanet’s purpose and focus. Between 10 and 500 characters.
string
required
Instructions shown to publishers joining this datanet. Between 10 and 1000 characters.
string
required
Instructions shown to voters in this datanet. Between 10 and 1000 characters.
string
required
Short statement of the datanet’s data goal. Maximum 100 characters.
string
required
Contract address of the primary token used for emissions alongside REPPO.
string
required
Ticker symbol of the primary token. Maximum 5 characters.
integer
required
Decimal precision of the primary token. Must be between 1 and 18.
Response 201

Example


Get one of my datanets


Returns a single datanet owned by the authenticated user. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.
Response 200

Publish a datanet


Records the on-chain publication of a datanet draft. You must have already submitted the publish transaction on Base and obtained the transaction hash before calling this endpoint. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.

Request body

string
required
The datanet’s internal ID (must match the path parameter).
string
required
The transaction hash of the on-chain publish transaction.
Response 200

Update REPPO access fee


Updates the REPPO access fee for a datanet after the corresponding on-chain transaction has been submitted. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.

Request body

string
required
The datanet’s internal ID.
number
required
New access fee denominated in REPPO.
string
required
Transaction hash of the on-chain fee update.
Response 200

Update pod publishing fee


Updates the REPPO fee charged to publishers minting pods into this datanet. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.

Request body

string
required
The datanet’s internal ID.
number
required
New publishing fee denominated in REPPO.
string
required
Transaction hash of the on-chain fee update.
Response 200

Update pod republishing fee


Updates the REPPO fee charged when a pod is republished into this datanet. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.

Request body

string
required
The datanet’s internal ID.
number
required
New republishing fee denominated in REPPO.
string
required
Transaction hash of the on-chain fee update.
Response 200

Update REPPO emissions per epoch


Updates the amount of REPPO emitted to curators per epoch in this datanet. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.

Request body

string
required
The datanet’s internal ID.
number
required
New REPPO emission rate per epoch.
string
required
Transaction hash of the on-chain update.
Response 200

Update primary token emissions per epoch


Updates the amount of the primary token emitted to curators per epoch in this datanet. Auth: Privy cookie

Path parameters

string
required
The datanet’s internal ID.

Request body

string
required
The datanet’s internal ID.
number
required
New primary token emission rate per epoch.
string
required
Transaction hash of the on-chain update.
Response 200

List public datanets


Returns all active public datanets. No authentication required. Supports pagination and search.

Query parameters

integer
Page number. Minimum 1. Default 1.
integer
Number of results per page. Minimum 1. Default 10.
Free-text search term filtered against datanet name and description.
Response 200

Example


Get a public datanet by ID


Returns a single public datanet by its internal ID. No authentication required.

Path parameters

string
required
The datanet’s internal ID.
Response 200

Example


Subnet schema

The Subnet object is returned by all datanet endpoints.
string
required
Internal datanet ID.
string
required
Display name of the datanet.
string
required
Description of the datanet’s focus and curation criteria.
string | null
URL to the datanet thumbnail image.
string
required
Contract address of the primary token.
string
required
Ticker symbol of the primary token.
integer
required
Decimal precision of the primary token.
integer | null
On-chain token ID assigned after the datanet is published. null while in draft status.
number
required
Fee in REPPO required to access this datanet.
number
required
REPPO emitted to curators per epoch.
number
required
Primary token emitted to curators per epoch.
string
required
Current status of the datanet (e.g., draft, active).
number
required
Cumulative up-vote volume across all pods in this datanet.
number
required
Cumulative down-vote volume across all pods in this datanet.
string
required
Onboarding instructions for publishers.
string
required
Onboarding instructions for voters.
string
required
Internal ID of the user who created this datanet.