# Data Posting Mechanisms

Sanko gives the sequencer two ways to post a data block to the settlement layer: it can post the full data block, or it can post a DACert proving the availability of the data. Arbitrum will reject any DACert that uses an invalid Keyset; the other aspects of DACert validity are checked by L3 code.

The L3 code that reads data from the inbox reads a full-data block as in ordinary Nitro. If it sees a DACert instead, it checks the validity of the DACert, with reference to the Keyset specified by the DACert (which is known to be valid because the base chain Inbox verified that). The L3 code verifies that

* the number of signers is at least the number required by the Keyset, and
* the aggregated signature is valid for the claimed signers, and
* the expiration time is at least two weeks after the current L3 timestamp.

If the DACert is invalid, Sanko discards the DACert and moves on to the next data block. If the DACert is valid, Sanko reads the data block, which is guaranteed to be available because the DACert is valid.<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sanko.xyz/sanko/sanko-overview/data-posting-mechanisms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
