# Welcome

Welcome to the Hop Protocol v2 documentation!

Note: The Hop v2 protocol and docs are still a work-in-progress and only on testnet.

*Looking for the v1 Docs?* The Hop v1 docs are for the current version of Hop.

{% content-ref url="/spaces/-MOYaoULYuKq7wLWewmU" %}
[Developer Docs](https://docs.hop.exchange/developer-docs/)
{% endcontent-ref %}

### Hop Core Messenger

The Hop Core Messenger is a simple, trustless messaging protocol that can be used to build powerful cross-chain applications.

#### How it works

* The Core Messenger uses a hub-and-spoke model
* Messages are aggregated into bundles
* The bundle is hashed and sent to the destination
* Native bridges with Ethereum are used to pass the bundle hash
* At the destination, messages in the bundle can be unpacked and executed

Because the native bridges can sometimes be slow, the Hop Core Messenger is best used for messages that require trustlessness and high-security but are not time sensitive (e.g. value settlement, dispute resolution, DAO governance, etc.).

Faster messaging models such as collateralized messaging and optimistic messaging (as seen in Hop V1) can be easily implemented on top of the Core Messenger for application-specific or generalized use cases.

### Smart Contracts

{% content-ref url="/pages/tGo4lIQ5N1FPEaxGhYMW" %}
[Smart Contracts](/v2/smart-contracts/welcome.md)
{% endcontent-ref %}

### JavaScript SDK

{% content-ref url="/pages/IibQwZ8Ali53RmzX1ztY" %}
[JS SDK](/v2/js-sdk/js-sdk.md)
{% endcontent-ref %}

### Bundle Relayer

{% content-ref url="/pages/9xTzeWl6uU47WWIvTuN6" %}
[Hop Node](/v2/hop-node/bundle-relayer.md)
{% endcontent-ref %}

### Looking for the v1 Docs?

The Hop v1 docs are for the current version of Hop.

{% content-ref url="/spaces/-MOYaoULYuKq7wLWewmU" %}
[Developer Docs](https://docs.hop.exchange/developer-docs/)
{% endcontent-ref %}

### Looking for User Docs?

{% content-ref url="/spaces/libLZBZV7uqIA565p5dQ" %}
[User Docs](https://docs.hop.exchange/)
{% endcontent-ref %}


---

# 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.hop.exchange/v2/readme.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.
