> For the complete documentation index, see [llms.txt](https://docs.asterizm.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.asterizm.io/guides/external-relays.md).

# External relays

The Asterizm Protocol has been designed to allow not only internal off-chain modules but also external services to act as [relays](/infrastructure/asterizm-relayer.md). These external relays can be trusted services that have undergone protocol audits and have set up the necessary infrastructure.

Each relay has the authority to establish its transfer fee in the native currency of the network. All relay data is stored on-chain, making this information accessible to everyone.

Every client is free to choose which relay they want to use for sending confirmations of their transfers (**`transferHash`**). To do this, the client should invoke the method <mark style="color:orange;">`setExternalRelay(address _externalRelay)`</mark> on their [client contract](/infrastructure/asterizm-connector/client-smart-contract-abstraction.md).&#x20;

{% hint style="warning" %}
IMPORTANT!&#x20;

A client can only set the address of an external relay once. If they attempt to call the method again, the contract will return an error.

Please exercise caution when configuring this parameter because once set, you cannot change it or revert to the "default" relay. You will need to redeploy contracts if you wish to make changes in this regard.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.asterizm.io/guides/external-relays.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
