← Docs

Chainlink Functions Polygon

FeedOracle macro data on-chain via Chainlink Functions.

Contract Details

PropertyValue
NetworkPolygon Mainnet
Consumer Contract0xd5094024Ae1F905Bd90B69e3CeCfB55CC89723EE
Subscription ID185
Functions Router0xdc2AAF042Aeff2E68B3e8E33F19e4B9fA7C73F10
LINK Token0xb0897686c545045aFc77CF20eC7A532E3120E0F1
View on Chainlink: Subscription #185

Available On-Chain Feeds

VariableTypeRangeDescription
economicHealthuint2560-100US Economic Health Score
fedRateuint2560-2000Fed Rate × 100 (425 = 4.25%)
recessionRiskuint2560-100Recession Probability %
tradingBiasuint2560-200Market Bias (100 = neutral)
lastUpdateduint256timestampLast update block time

Solidity Interface

interface IFeedOracleConsumer {
    function economicHealth() external view returns (uint256);
    function fedRate() external view returns (uint256);
    function recessionRisk() external view returns (uint256);
    function isFavorableEconomy() external view returns (bool);
    function requestEconomicHealth() external returns (bytes32);
}

Read Data (Free)

IFeedOracleConsumer oracle = IFeedOracleConsumer(
    0xd5094024Ae1F905Bd90B69e3CeCfB55CC89723EE
);

uint256 health = oracle.economicHealth();  // e.g., 85
uint256 fed = oracle.fedRate();            // e.g., 425 (4.25%)

if (oracle.isFavorableEconomy()) {
    // health > 50 AND recessionRisk < 50
}

Request Fresh Data (Costs LINK)

// Trigger Chainlink Functions request
bytes32 requestId = oracle.requestEconomicHealth();

// Data available after ~30 seconds
// Listen for DataReceived(requestId, feedType, value) event

Costs

Reading data: Free (view function)
Requesting fresh data: ~0.2-0.5 LINK per request

How It Works

The contract uses Chainlink Functions to fetch data from FeedOracle API:

// JavaScript executed in Chainlink DON
const url = "https://feedoracle.io/api/v1/macro/" + args[1];
const r = await Functions.makeHttpRequest({url});
return Functions.encodeUint256(r.data.value);

Links

Note: Data infrastructure only. Not investment advice.

← Back to Docs