# The Relayer

Relayers are responsible for submitting meta-transactions on behalf of users. That is, relayers pay the gas costs for user transactions. This is necessary because gas costs must be paid to the base layer blockchain, which is usually public, and so the anonymity of users would be compromised if they paid their own gas. Meta-transactions can be programmed in such a way that it is impossible for a relayer to corrupt or change the transaction, resulting in a trust-less relay network that does not require incentives to prevent malicious activity.

Currently, the Singularity operates it's own relayer service. However, in the future anyone with a sufficient quantity of staked Singularity tokens is able to operate a relayer. Transactions submitted by users have (publicly) associated with them a fee that will be paid to the relayer to compensate them for their gas expenses. In aggregate, the network of relayers is assumed to be rational, and will pick up any profitable transaction and submit it. Individual relayers may decide to ignore some transactions, but as long as the network has a sufficient number of relayers, eventually profitable transactions should end up submitted.

<figure><img src="/files/F3Ec0uVmv4xinY63Ztwr" alt=""><figcaption><p>Transaction via Relayer Diagram</p></figcaption></figure>

### Relayer Information

| Keyring Credential Relayer                                                          |
| ----------------------------------------------------------------------------------- |
| 0x06A66E7C2e24b9353b0Cc902cf9330228159f02C                                          |
| [https://crelayer.thesingularity.network](https://crelayer.thesingularity.network/) |

<table><thead><tr><th width="160">Blockchain</th><th>Account Address</th><th>Endpoint</th></tr></thead><tbody><tr><td>Ethereum</td><td>0x5cCc2130e77aE3a3211740C2e897bFBB5D70aA54</td><td><a href="https://eth.rlb.thesingularity.network">https://eth.rlb.thesingularity.network</a></td></tr><tr><td>Arbitrum</td><td>0x5cCc2130e77aE3a3211740C2e897bFBB5D70aA54</td><td><a href="https://arb.rlb.thesingularity.network">https://arb.rlb.thesingularity.network</a></td></tr><tr><td>Base</td><td>0x5cCc2130e77aE3a3211740C2e897bFBB5D70aA54</td><td><a href="https://base.rlb.thesingularity.network">https://base.rlb.thesingularity.network</a></td></tr><tr><td>BounceBit</td><td>0x5cCc2130e77aE3a3211740C2e897bFBB5D70aA54</td><td><a href="https://bb.rlb.thesingularity.network">https://bb.rlb.thesingularity.network</a></td></tr></tbody></table>


---

# 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://singularityzk.gitbook.io/singularity/for-developers/the-relayer.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.
