SettleMint
User guidesData feeds

Publish a feed update

Submit a signed value to an issuer-signed scalar data feed.

Publishing a feed update submits a new signed value to an existing data feed. The value is signed using EIP-712 and stored on-chain by the feed adapter contract.

Prerequisites

Trusted issuer required

Publishing does not require a specific platform role, but your on-chain identity must be registered as a trusted issuer for the feed's topic. Without this, the feed adapter contract will reject the submission.

Registering as a trusted issuer

Before you can publish, ensure the publishing identity is set up as a trusted issuer:

Go to Platform Settings > Verification Topics & Issuers.

Trusted Issuers section

Add the publishing identity

Click Add trusted issuer, select the identity that will publish feed updates, and assign the scalar feed topic used by the feed.

Add trusted issuer dialog

For detailed instructions, see Configure trusted issuers.

Publishing a value

Go to Platform Settings > Data Feeds and find the feed you want to update.

Open the publish action

You can publish from two places:

  • From the table - Click the three-dot menu (...) on the feed's row and select Publish update.
  • From the feed detail page - Open a feed, then click the three-dot menu in the top-right corner and select Publish update.

If you are not a trusted issuer for the feed's topic, the publish option appears disabled with a tooltip explaining the requirement.

Feed row actions menu

Enter the feed value

Fill in the publish form:

  • Value - The numeric value to submit. Enter the value in its human-readable form (e.g., 67500 for $67,500.00). The platform automatically encodes it using the feed's decimal precision before submitting.

The observation timestamp is automatically set to the current time at submission.

Publish feed update form

On-chain encoding

The value is stored as an int256 on-chain. The platform handles decimal encoding automatically: a value of 1.50 on a feed with 8 decimals is stored as 150000000 (1.50 * 10^8).

Confirm the transaction

Click Continue to review, then click Submit and enter your PIN to sign and submit the EIP-712 transaction.

Publish confirmation

Verify the update

After the transaction confirms, the feed's latest value is updated. You can verify by:

  • Checking the Latest value column on the Data Feeds list page
  • Opening the feed detail page to see the full value history (if history mode is Bounded or Full)

Understanding feed validation

The feed adapter contract validates each submission against the feed's configuration:

ValidationTriggered whenRejection reason
Trusted issuer checkAlwaysSubmitting identity is not a trusted issuer for the feed's topic
Positive value checkrequirePositive is enabledSubmitted value is zero or negative
Drift checkdriftAllowance > 0Difference between observedAt and block timestamp exceeds allowance
Signature verificationAlwaysEIP-712 signature is invalid or signer does not match

Troubleshooting

IssueSolution
Publish option not visible in row menuYou may not be a trusted issuer for the feed's topic. Check the trusted issuers list.
Transaction revertsVerify: (1) identity is trusted issuer for topic, (2) value meets requirePositive constraint, (3) observedAt is within drift allowance
Value appears incorrect on detail pageCheck decimal encoding. The displayed value applies the feed's decimal precision.
"Not a trusted issuer" errorNavigate to Verification Topics & Issuers and add your identity as a trusted issuer for the feed's topic

On this page