First Party

Directly push self-sourced data on-chain with Stork tools.

What Is It?

Want to run everything in-house? Stork First Party allows anyone to push custom data to a First Party Contract by running Stork tools themselves. With no code and minimal configuration, anyone can easily sign and push their own data on-chain. From there, it becomes publicly readable and verifiable by anyone.

How It Works

Stork First Party ingests temporal numeric data — such as prices, metrics, or analytics — and pushes it on-chain. Each data point is signed, validated, batched, and stored immutably for downstream consumption. What differentiates First Party from our other offerings is independence. Users can run Stork tools themselves to push data directly on-chain, without relying on Stork Network's live infrastructure.

Under the Hood

In order to run First Party Stork, the user must provide their own custom data feed. The user then runs two distinct processes -

  1. Publisher Agent

    1. Ingests data from the provided custom data stream via WebSocket

    2. Signs each message with a private key

    3. Forwards signed messages to local First Party Pusher sibling process

  2. First Party Pusher

    1. Receives signed updates from Publisher Agent via WebSocket

    2. Pushes signed updates to the configured chain based on customizable staleness and delta thresholds

Finally, the FirstPartyStork Contract verifies the signature, checks if the Publisher's public key is authorized, and stores the temporal numeric values. These values are keyed by the publisher public key and the Keccak-256 hash of the asset name.

Get Started

Running Stork First Party

Stork First Party is an application that bundles the Publisher Agent and the First Party Pusher.

Configuration is simple:

  • publisher-config.json: defines data source port and where signed data is forwarded

  • pusher-asset-config.yaml: defines expected assets-publisher pairs and triggers (intervals, % changes)

  • .env: defines keys, oracle identifiers, and blockchain connection details

An .env.example is included for reference.

It is recommend to run Stork First Party via Docker. All components are split into separate services. Docker profiles are included for convenience in the docker-compose.yml:

  • first-party: runs a Publisher and Pusher

  • local: runs a toy Data Provider, Publisher, Pusher, and local Contract

Using Stork First Party Data

Stork provides a Solidity SDK for working directly with First Party Contracts. Access to the on-chain data will involve calling getLatestTemporalNumericValue with the appropriate publisher and asset information.

Full chain support documentation coming soon.

Expanded contract interaction guide coming soon.

Want to get started with First Party? Push data to a new chain? Learn more?

Email us at [email protected] or DM us on X (formerly Twitter)

Last updated