# Post

{% embed url="<https://share.synthesia.io/046d191d-698b-46ca-891c-675792113059>" %}

The bitcoin blockchain is a timestamp server. That means it can proof that certain documents were added to the blockchain at exactly that time and not modified later, which led to a variety of applications within the BSV space. From certifying documents against the blockchain to later proof no modification of it occurred to social media posts. \
\
While miners are not required to keep a copy of your blockchain post for all eternity on their mining servers, a whole ecosystem spawned over the years that uses the blockchain as decentralized storage system.&#x20;

{% hint style="warning" %}
OP\_R*eturn data on the blockchain can be pruned by individual miners since OP\_return transactions can't create another transaction (thus irrelevant for the validation process).*
{% endhint %}

Even though the hosting of uploaded data is not guaranteed, the hash of transactions is always verifiable via SPV networks and presents a long term reliable path to verify that B://cat data is unaltered since upload.&#x20;

{% hint style="info" %}
*The business of maintaining and hosting OP\_Return data onchain has found some traction with services such as Project Babbage, Metashard and Planaria.*
{% endhint %}

{% embed url="<https://api.relysia.com/docs/static/index.html>" %}

```javascript
const dataArray = [
    {
      "notes": [
        "note-1",
        "note-2"
      ]
    }
  ]
```

## Post Messages to the Blockchain.

<mark style="color:green;">`POST`</mark> `https://api.relysia.com/post`

The /post endpoint broadcasts a note to the blockchain (in B:// protocol format).

#### Headers

| Name     | Type   | Description |
| -------- | ------ | ----------- |
| walletID | string |             |

#### Request Body

| Name      | Type  | Description  |
| --------- | ----- | ------------ |
| dataArray | array | As per above |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  statusCode: 200,
  data: {
    status: 'success',
    msg: 'Data uploaded Successfully',
    txid: 'string'
  }
}
```

{% endtab %}
{% endtabs %}

```javascript
var parameters = { 
    serviceID: 'optional',
    walletID: 'optional',
    body: {
        notes: ["text1", "text2", "text3"]
    }
}

const response = await relysia.post(parameters);
```


---

# 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.relysia.com/utility/post.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.
