SettleMint
User guidesData feeds

Create a feed

Deploy an issuer-signed scalar feed or register a Chainlink-compatible feed for a global, asset, or identity subject.

Create a data feed in the DALP app when a workflow needs reusable market, asset, or identity data. A feed can be global for market-wide data, asset-scoped for one token, or identity-scoped for one identity.

DALP supports two creation paths:

  • Issuer-signed feed - DALP deploys a scalar feed contract. Trusted issuers later publish signed EIP-712 updates to that feed.
  • Chainlink-compatible feed - DALP registers an existing external feed address in the Feeds Directory. The external oracle operator still manages the source feed.

Prerequisites

Before you start, make sure you have:

  • The Feeds manager role assigned in platform access control
  • A scalar feed verification topic already created, see Create a topic
  • For issuer-signed feeds, a trusted issuer configured for the topic, see Configure trusted issuers
  • For Chainlink-compatible feeds, the external oracle contract address you want DALP to register
  • For asset-scoped feeds, the target asset already deployed

Creation model

Rendering diagram...

The scope, subject, and topic identify the data slot. The source type decides whether DALP deploys the feed contract or records an existing Chainlink-compatible address for that same slot.

Example configuration

Use a global issuer-signed feed for a reusable market price that trusted issuers will update inside DALP.

FieldExample valueWhy this value fits
ScopeGlobalThe price applies across the market rather than to one asset or identity
Subject addressZero addressDALP fills this automatically for global feeds
Topic nameBTC/USDThe scalar topic identifies the value publishers submit
Source typeIssuer-signedDALP deploys the feed and validates signed updates from trusted issuers
Decimals8Common precision for USD price feeds
DescriptionBTC/USDHuman-readable label stored with the deployed feed
History modeBoundedKeeps a fixed update history instead of only the latest value or all values forever
History size100Stores the latest 100 submitted values
Require positiveEnabledRejects zero or negative price submissions
Drift allowance300 secondsRejects updates whose observed time is more than five minutes from block time

After registration, a trusted issuer can publish the first BTC/USD value for the same topic. If you already operate a Chainlink-compatible oracle for the price, choose Chainlink instead and enter that feed address; DALP registers the address but does not operate the external oracle.

Steps

Go to Platform Settings > Data Feeds in the sidebar. The page lists registered feeds and their latest indexed values.

Data Feeds page

Open the create feed form

Click Create feed to open the feed creation form.

Create feed form

Select the feed scope

Choose the scope first. The scope determines the feed subject address.

ScopeUse it forSubject address
GlobalMarket-wide data such as BTC/USD, ETH/USD, or FX ratesDALP uses the zero address automatically
Asset-scopedData tied to one deployed token, such as NAV, interest rate, collateral ratio, or risk scoreSelect the asset from the subject dropdown
Identity-scopedData tied to one identitySelect the identity from the subject dropdown

For asset or identity scope, the form shows a Subject address selector. Pick the exact asset or identity before continuing.

Select the topic and source type

Fill in the common feed fields:

  • Data format - Scalar is the supported feed format.
  • Topic name - Select a scalar feed topic from the dropdown. The form shows the derived topic ID so you can confirm the topic being registered.
  • Source type - Choose Issuer-signed to deploy a DALP-managed feed, or Chainlink to register an existing external feed address.

Issuer-signed availability

If the issuer-signed feed factory is not installed for the current system, the app only offers the Chainlink-compatible registration path. Finish the platform feed setup before creating issuer-signed feeds.

Configure the selected source

For an issuer-signed feed, configure the contract DALP will deploy:

FieldWhat to enter
DecimalsFeed value precision from 0 to 18. USD price feeds often use 8; integer metrics can use 0.
DescriptionA plain-language label for what the feed measures, such as USDT / USD or BTC/USD spot price.
History modeLatest only keeps the most recent value, Bounded keeps a fixed number of values, and Full keeps all values.
History sizeRequired only for Bounded history. Use at least 1.
Require positiveRejects submitted values that are zero or negative.
Drift allowanceMaximum allowed difference, in seconds, between the submitted observedAt time and the block timestamp. Use 0 to disable drift checking.

The form defaults issuer-signed feeds to 18 decimals, Latest only history, no positivity check, and 0 seconds of drift allowance. Change those values before creating the feed if your issuer updates need a different retention, precision, or validation model.

For a Chainlink-compatible feed, enter the external Feed address. DALP registers that address for the selected subject and topic with scalar feed kind. DALP does not deploy or operate that external oracle.

Filled create feed form

Review and confirm

Click Continue to review the configuration summary. Check the scope, subject, topic, source type, and source-specific fields before submitting.

Click Register feed and enter your PIN to authenticate the transaction.

Feed creation confirmation

Verify the feed

After the transaction confirms, the feed appears in the Data Feeds list. Open the feed row to review the registered subject, topic, source type, configuration, and latest value.

Data Feeds list with created feed

Feed detail page

What happens after registration

Source typeWhat DALP doesWhat you do next
Issuer-signedDeploys and registers a scalar feed contractPublish the first value through a trusted issuer
Chainlink-compatibleRegisters the external feed address in the Feeds Directory for the selected subject and topicConfirm the external oracle keeps updating and that DALP indexes the feed

Issuer-signed properties are set when the feed is deployed. If you need different decimals, history mode, positivity checks, or drift controls, create a new feed with the desired configuration.

Field summary

FieldRequiredApplies toNotes
ScopeYesAll feedsDetermines the subject address
Subject addressAsset and identity scopes onlyAll feedsAuto-filled for global scope
Data formatYesAll feedsScalar feed values are supported
Topic nameYesAll feedsMust be a scalar feed topic
Source typeYesAll feedsChoose between issuer-signed deployment and Chainlink-compatible registration
Feed addressYesChainlink-compatible feedsExisting external oracle contract address
DecimalsYesIssuer-signed feedsRange: 0 to 18
DescriptionYesIssuer-signed feedsHuman-readable description stored with the feed
History modeYesIssuer-signed feedsControls value retention
History sizeBounded mode onlyIssuer-signed feedsMinimum: 1
Require positiveNoIssuer-signed feedsRejects non-positive values when enabled
Drift allowanceNoIssuer-signed feedsTime window in seconds; 0 disables drift checking

Troubleshooting

IssueWhat to check
Create feed button not visibleConfirm your wallet has the Feeds manager role in platform access control.
Issuer-signed option not availableConfirm the issuer-signed feed factory is installed for the system.
No topics in the dropdownCreate a scalar feed topic first, see Create a topic.
Continue button disabledSelect a topic first. For asset or identity scope, also choose a subject address. For issuer-signed feeds, fill in the description and bounded history size when applicable. For Chainlink-compatible feeds, fill in the external feed address.
Asset not in subject dropdownConfirm the asset is deployed and visible under Asset management.
Transaction failsCheck your wallet gas balance, PIN or OTP setup, subject address, and feed factory availability.

Next steps

  • For issuer-signed feeds, publish a feed update to submit the first value.
  • For Chainlink-compatible feeds, open the feed detail page after indexing and confirm the external oracle value is visible.
  • To understand how feeds fit the wider data model, read the Data feeds overview.

On this page