SettleMint
Data 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 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 that feed.

Prerequisites

You need the following before you start.

  • Feeds manager role in platform access control.
  • A scalar feed topic 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.
  • For asset-scoped feeds: the target asset 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 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 that price, choose Chainlink instead and enter that feed address. DALP registers the address but does not operate the external oracle.

Steps

Go to Organisation settings > Operations > Data feeds in the sidebar. The page lists registered feeds and their latest indexed values.

Open the create feed form

Click Create feed to open the feed creation form. All scope, topic, and source options appear on one 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 rates.DALP uses the zero address automatically.
Asset-scopedData tied to one deployed token, such as NAV, interest rate, collateral ratio, or risk score.Select the asset from the subject dropdown.
Identity-scopedData tied to one identity.Select 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.

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 instead. DALP registers that address for the selected subject and topic with scalar feed kind, but 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

What the platform does and what you do next depends on the source type you selected.

Source typeWhat DALP doesWhat you do next
Issuer-signedDeploys and registers a scalar feed contract.Publish the first value through a trusted issuer.
Chainlink-compatibleRegisters the external feed address in the Feeds Directory for the selected subject and topic.Confirm 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

The table below lists every field, whether it is required, which feed type it applies to, and any constraints.

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