Pre-alphaWork in progress
Skip to content

Verified responses ​

For reads that influence an important decision, the Direct client can ask several providers and check that their answers agree before returning a result. This is useful for balances before a payout, contract state used by an automated process, and other reads where you want additional evidence beyond one provider's response.

Configure an agreement threshold ​

Enable response verification in the local client's settings. Choose how many providers to query and how many matching answers are required. For example, asking three providers and requiring two matching results allows one provider to disagree without determining the answer.

The application uses its usual RPC endpoint. The client sends the selected reads to compatible providers and returns a result only when the agreement threshold is reached. If too few answers agree, it returns an error.

Use this feature for reads. Transaction submission and subscription notifications are not checked by replaying them across providers.

Keep the block consistent ​

Verification must compare answers about the same state. The shared reference-block design pins supported reads before distributing them to providers. For several related calls that must share one snapshot, supply the same explicit block hash to each. Comparing providers at different blocks can produce disagreement even when each answer is correct.

Every participating provider must support the method, options, and state coverage within your price ceiling. If too few eligible providers are available, verification cannot reach its threshold.

Cost and response time ​

Each provider performs a separate request and is paid for that work. Querying three providers therefore incurs three request charges, even though your application makes one call. The client also waits for enough matching responses, which can increase latency.

Apply verification to the reads that need it. Ordinary reads can continue using one provider.

If providers disagree ​

A disagreement error means the client could not obtain enough matching answers. Check the requested block and provider capabilities before retrying. Do not replace the error with an arbitrary answer if your application relies on verification.

Unstoppable Infrastructure.