# Anchoring

Anchoring on a blockchain is a simple and cheap way to notarize documents and timestamp data. Authorization levels and ACLs offer limited protection against manipulation by those in charge or tasked to maintain the system.

You can provide indisputable proof of existence by securing a hash on the LTO Network public blockchain: [https://anchor-demo.lto.network/demo](https://anchor-demo.lto.network/demo/)

{% hint style="info" %}
The anchoring node indexes anchor and association transactions and provides an easy-to-use REST API. However, it's not required to run an anchoring node to anchor on LTO Network. You can use one of the client libraries to create an anchor transaction and broadcast that via a public node like [nodes.lto.network](https://nodes.lto.network).
{% endhint %}

## REST API

The LTO node comes in several flavors. Anchoring nodes expose an HTTP REST interface allowing you to easily submit anchor transactions. The transactions are signed by the node and (thus) paid by the account associated with the node.

To anchor send a POST request to [https://anchor-demo.lto.network/](https://anchor-demo.lto.network/api-docs/) with a JSON body.

```
{
  "hash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
  "encoding": "base64"
}
```

The following encodings are accepted; *hex*, *base58,* and *base64*.

The node exposes a Swagger UI which you can use to try out all the available HTTP endpoints.

![Swagger interface LTO Network Anchoring node](https://cdn-images-1.medium.com/max/1600/1*-tuVnK4w9JuAxc5HP2l9Ag.png)

### LTO mainnet

The demo service uses LTO testnet. Transactions on testnet are free, but the network isn't secure and must not be used in production.

To anchor on LTO mainnet, [install your own anchoring node](https://docs.ltonetwork.com/tutorials/broken-reference) using docker. Submitting anchoring transactions on mainnet requires a transaction fee.&#x20;

If the node is set up correctly, you’ll need to provide the API key for each request as `X-LTO-Key` request header. This key has been configured as environment variable `LTO_API_KEY` during set up.


---

# 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.ltonetwork.com/tutorials/anchoring.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.
