SettleMint
ArchitectureComponentsInfrastructure

Feeds system

The Feeds system provides reliable, system-guaranteed price and foreign exchange data for digital assets through a centralized directory with multiple feed types and subject scopes.

Purpose: Central hub for understanding how price and foreign exchange data flows through DALP — the registry, supported feed types, trust model, and operational boundaries.

  • Doc type: Explanation
  • What you'll find here:
    • FeedsDirectory as central registry and discovery layer
    • Feed types supported: issuer-signed scalar and Chainlink aggregator adapter
    • Where feeds are consumed across the platform
    • Trust model and access control boundaries
    • Operational model and failure signals
  • Related:

At a glance

  • Feeds provide trusted price and FX data to the platform through a centralized directory
  • The FeedsDirectory separates discovery (which feed serves a given subject + topic) from delivery (individual feed contracts)
  • Two feed types: issuer-signed scalar feeds (factory-deployed capability) and Chainlink aggregator adapters (infrastructure wrapper)
  • Feeds can be global (economy-wide FX rates) or token-specific (asset base prices)
  • Only authorized roles can register, replace, or remove feeds

What feeds are in DALP

Feeds are on-chain data sources that supply trusted market information — prices, exchange rates, and valuations — to platform consumers. Each feed is a contract that returns data in a pinned format. The FeedsDirectory maps a (subject, topic) pair to the feed contract address, so consumers never hard-code feed addresses.

When a feed is registered, the directory captures:

FieldDescription
SubjectToken address or global subject (address zero) for economy-wide data
TopicData type the feed provides (base price, FX rate)
Feed contractAddress applications query for data
Feed kindScalar (numeric) or bytes (structured)
Schema hashPins the expected data format for consistency

Where feeds are used

ConsumerPurposeFailure impact
Compliance modulesLimit checks and valuation requirementsTransfer blocked if feed stale or missing
Yield / distributionDetermine distribution amounts based on current pricesDistribution delayed or calculated on stale values
Asset ConsoleDisplay current portfolio value in preferred currencyUI shows outdated valuations
Execution EngineIncorporate feed data into multi-step workflowsWorkflow paused pending fresh data
External DeFi protocolsConsume prices via Chainlink-compatible adapter interfaceIntegration returns stale round data

Feed types supported

Issuer-signed scalar feed (capability)

A factory-deployed capability where the asset issuer cryptographically signs and publishes price data. Each feed instance is created through a factory contract, following the same pattern as other DALP capabilities (Airdrop, Vault, XvP Settlement, Token Sale).

  • Deployment model: factory pattern — one instance per asset or subject
  • Data format: fixed-point integer with configurable decimals
  • Key properties: history modes (latest-only, bounded, full), drift allowance, positive-value requirement, signature verification

See Issuer-Signed Scalar Feed for configuration, signing model, and value format details.

A wrapper contract that presents any DALP feed through the AggregatorV3Interface — the de facto standard consumed by DeFi protocols, lending platforms, and external analytics tools.

Why it exists: External integrations need a stable address. If the underlying feed is replaced (new provider, upgraded contract), the adapter address stays the same. The adapter resolves the current feed from the FeedsDirectory on every call, so consumers never need to update their pointers.

PropertyDetail
InterfaceChainlink AggregatorV3Interface (latestRoundData, decimals, description)
Address stabilityPermanent — survives feed replacement in the directory
ResolutionDynamic — queries FeedsDirectory per call for current feed address
ConfigurationSubject + topic pair (same mapping as the directory)
DeploymentOne adapter per (subject, topic) combination

Use cases: DeFi protocol integration, cross-platform data sharing, portfolio valuation by external trackers, oracle aggregation, audit and compliance feeds for external systems.


Trust model & boundaries

ActionWho can do itScope
Register / replace / remove feedFeeds Manager role (system-level)Any subject, including global feeds
Create feed + adapterGOVERNANCE role holder on a specific DALP tokenThat token only (not global feeds)
Read feed dataAny contract or off-chain callerUnrestricted
  • Feed registration is a privileged operation — unauthorized changes to pricing data could affect compliance decisions and valuations
  • Schema hash pinning ensures consumers always know the expected data format; format changes require explicit feed replacement
  • Global feeds (address zero subject) can only be managed by the Feeds Manager, not by individual token governance roles

Operational model

Signals

  • Feed registered / replaced / removed — directory events indexed by the chain indexer
  • Value updated — feed-level events (issuer-signed feeds emit on each signed update)
  • Outlier flagged — drift allowance exceeded on an issuer-signed feed

Failure modes

FailureSystem behavior
Feed stale (no updates)Consumers read last-known value; compliance may block
Feed removed from directoryDiscovery returns zero address; consumers must handle
Invalid signatureIssuer-signed feed rejects the update on-chain
Drift exceededValue flagged as outlier; consumers decide risk tolerance
Adapter target missingAdapter call reverts; external integrations see failure

See Feeds update flow for the full lifecycle including validation checkpoints and recovery.


Dependencies

On-chain:

  • FeedsDirectory contract (central registry)
  • Factory contracts (deploy issuer-signed feed and adapter instances)
  • Token contracts (subjects for token-specific feeds)

Off-chain:

  • Chain indexer (indexes directory and feed events for the platform UI and API)
  • Execution Engine (orchestrates workflows that consume feed data)

See also

On this page