Skip to content

Statement Store

Introduction

The Statement Store method group lets a Product publish and subscribe to signed, gossip-distributed statements on the People Chain. The Statement Store itself, including the pallet, gossip layer, lifecycle, and validation rules, is a network-layer pub/sub primitive. It is short-lived, allowance-gated, and propagated peer-to-peer. This TrUAPI group is how a Product reaches it through the Host.

The Product SDK wraps this surface as StatementStoreClient from @parity/product-sdk-statement-store. For the conceptual model of what statements are good for (versus the Bulletin Chain or local storage), see Storage options for your Product.

Conceptual Contract

The group exposes the standard pub/sub surface with the Host filling in the parts a Product cannot do safely on its own:

  • Publishing a statement: The Product hands the Host a payload (under the per-statement 512-byte limit), a topic, a channel, a time to live (TTL), and any options. The Host requests an authentication proof from the paired App, attaches the per-Product account context and primary topic (blake2b(appName)), and submits to the People Chain node's statement_submit JSON-RPC.
  • Subscribing to a topic filter: The Product registers a callback for statements matching its primary topic plus any secondary topic2. The Host opens the underlying statement_subscribeStatement JSON-RPC, decodes payloads, and deduplicates by content hash before invoking the callback.
  • Channel-based last-write-wins: When a statement carries a channel, the pallet replaces older statements from the same account on the same channel. The SDK abstracts this as ChannelStore<T> on top of the underlying method group.

Delivery is best-effort gossip, with no retry, acknowledgment, or ordering guarantee. Reliability is composed at the application layer. For example, if a recipient needs to confirm receipt, they publish an acknowledgment statement back.

For the Desktop-side mediation perspective, see Statement Store via Host API.

Provisional

Detailed error taxonomy, allowance-management primitives, and any direct topic-walking API remain provisional.

Where to Go Next

  • Guide Exchange Ephemeral Messages


    The Product-side how-to: setting up the client, subscribing, publishing typed statements, and using channels.

    Get Started

  • Learn Statement Store via Host API


    What Polkadot Desktop adds when mediating Statement Store traffic, including proof routing, account context, and per-Product topic scoping.

    Reference

Last update: June 16, 2026
| Created: June 16, 2026