Proposal type
Modify column
Affected scope (files/folders/chains)
references/offers/oracles.csv; listings/all-networks/oracles.csv; listings/specific-networks/*/oracles.csv; Oracles wiki documentation; oracle schema/validation
Motivation / problem statement
The current oracle dataTypes field mixes several different concepts instead of consistently describing the types of data delivered by an oracle.
In the canonical references/offers/oracles.csv, the field currently contains:
- Semantic data categories such as
Asset Prices, Randomness, Equities, Commodities, and Prediction Market Data.
- Individual asset symbols such as
BTC, ETH, USDC, ATOM, AVAX, and others.
- API/interface concepts such as
APIs, Feeds, and Web2 API data.
- SDK/library descriptions such as
JavaScript/TypeScript Libraries and Rust Libraries.
For example, Switchboard's dataTypes contains JavaScript/TypeScript and Rust library descriptions even though the row already has a separate sdk column for TypeScript, Rust, and JavaScript.
This makes dataTypes difficult to filter or compare consistently. The same broad concept can currently appear as Asset Prices, Token Prices, Cryptocurrency Prices, Crypto Assets, Real-time Price Feeds, or individual asset symbols.
Users and downstream consumers would benefit from dataTypes having one predictable meaning: semantic categories describing what data an oracle provides.
This is separate from #2552, which proposes normalizing how oracle updates are delivered (push, pull, request-response). This proposal concerns what kind of data the oracle delivers.
Detailed proposal
If proposing column change(s):
-
Category/table (rpc | wallet | explorer | indexing | bridge | analytic | devTool | oracle): oracle
-
Column name: dataTypes
-
Change type (add | remove | modify): modify
-
New/updated definition:
A machine-readable list of semantic categories describing the kinds of data delivered by an oracle. The field should describe the nature of the delivered data rather than individual asset symbols, programming languages, SDK/library names, or API/interface names.
-
Value type and allowed values:
JSON array of normalized strings.
Suggested initial values:
asset-prices
randomness
fx
equities
commodities
indices
prediction-markets
volatility
sports
supply-chain
healthcare
cross-chain-data
web2-data
arbitrary-data
ai-data
Blank should be allowed where the data type has not been verified.
API3:
["asset-prices","randomness"]
Pyth:
["asset-prices","fx","commodities"]
Switchboard:
["asset-prices","randomness"]
Band:
["asset-prices"]
- Notes (constraints, normalization guidance):
-
dataTypes should contain semantic data categories only.
-
Individual asset symbols such as BTC, ETH, USDC, ATOM, AVAX, etc. should not be stored as data types.
-
Programming languages or SDK/library descriptions should remain in the existing sdk column.
-
API/interface information should remain in availableApis where applicable.
-
Values should use one canonical spelling and format so exact filtering works reliably.
-
Do not infer data capabilities merely from a provider or product name. Existing verified data and primary provider documentation should be used when normalizing rows.
-
Leave the value blank when it cannot be confidently verified rather than guessing.
Optional follow-up:
If maintainers want to preserve individual asset/feed information in structured form, a separate assetSymbols field could later be considered, for example:
["BTC","ETH","USDC"]
This optional companion field is not required for the core dataTypes normalization and can be discussed separately if maintainers prefer to keep this proposal narrowly scoped.
Relationship to existing proposal:
This does not duplicate #2552. #2552 concerns oracle update/delivery models (push, pull, request-response), while this proposal concerns the semantic type of data being delivered.
AI disclosure:
AI assistance was used to analyze the current repository data and draft this proposal. The examples were checked against the current canonical oracle data.
Contact (optional)
GitHub: @MDHaarith
Rewards address (optional)
0xe4064deaeA293c56059faCe1075A83FA23f4e1E4
Proposal type
Modify column
Affected scope (files/folders/chains)
references/offers/oracles.csv; listings/all-networks/oracles.csv; listings/specific-networks/*/oracles.csv; Oracles wiki documentation; oracle schema/validation
Motivation / problem statement
The current oracle
dataTypesfield mixes several different concepts instead of consistently describing the types of data delivered by an oracle.In the canonical
references/offers/oracles.csv, the field currently contains:Asset Prices,Randomness,Equities,Commodities, andPrediction Market Data.BTC,ETH,USDC,ATOM,AVAX, and others.APIs,Feeds, andWeb2 API data.JavaScript/TypeScript LibrariesandRust Libraries.For example, Switchboard's
dataTypescontains JavaScript/TypeScript and Rust library descriptions even though the row already has a separatesdkcolumn for TypeScript, Rust, and JavaScript.This makes
dataTypesdifficult to filter or compare consistently. The same broad concept can currently appear asAsset Prices,Token Prices,Cryptocurrency Prices,Crypto Assets,Real-time Price Feeds, or individual asset symbols.Users and downstream consumers would benefit from
dataTypeshaving one predictable meaning: semantic categories describing what data an oracle provides.This is separate from #2552, which proposes normalizing how oracle updates are delivered (
push,pull,request-response). This proposal concerns what kind of data the oracle delivers.Detailed proposal
If proposing column change(s):
Category/table (rpc | wallet | explorer | indexing | bridge | analytic | devTool | oracle): oracle
Column name: dataTypes
Change type (add | remove | modify): modify
New/updated definition:
A machine-readable list of semantic categories describing the kinds of data delivered by an oracle. The field should describe the nature of the delivered data rather than individual asset symbols, programming languages, SDK/library names, or API/interface names.
Value type and allowed values:
JSON array of normalized strings.
Suggested initial values:
asset-prices
randomness
fx
equities
commodities
indices
prediction-markets
volatility
sports
supply-chain
healthcare
cross-chain-data
web2-data
arbitrary-data
ai-data
Blank should be allowed where the data type has not been verified.
API3:
["asset-prices","randomness"]
Pyth:
["asset-prices","fx","commodities"]
Switchboard:
["asset-prices","randomness"]
Band:
["asset-prices"]
dataTypesshould contain semantic data categories only.Individual asset symbols such as BTC, ETH, USDC, ATOM, AVAX, etc. should not be stored as data types.
Programming languages or SDK/library descriptions should remain in the existing
sdkcolumn.API/interface information should remain in
availableApiswhere applicable.Values should use one canonical spelling and format so exact filtering works reliably.
Do not infer data capabilities merely from a provider or product name. Existing verified data and primary provider documentation should be used when normalizing rows.
Leave the value blank when it cannot be confidently verified rather than guessing.
Optional follow-up:
If maintainers want to preserve individual asset/feed information in structured form, a separate
assetSymbolsfield could later be considered, for example:["BTC","ETH","USDC"]
This optional companion field is not required for the core
dataTypesnormalization and can be discussed separately if maintainers prefer to keep this proposal narrowly scoped.Relationship to existing proposal:
This does not duplicate #2552. #2552 concerns oracle update/delivery models (
push,pull,request-response), while this proposal concerns the semantic type of data being delivered.AI disclosure:
AI assistance was used to analyze the current repository data and draft this proposal. The examples were checked against the current canonical oracle data.
Contact (optional)
GitHub: @MDHaarith
Rewards address (optional)
0xe4064deaeA293c56059faCe1075A83FA23f4e1E4