> For the complete documentation index, see [llms.txt](https://sodex.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sodex.com/documentation/for-developers/api-reference/relayer-api.md).

# Relayer API

Submit supported ValueChain contract calls and query their execution status. Relayer is **Mainnet only**; there is no Testnet Relayer.

**Mainnet base URL:** `https://mainnet-gw.sodex.dev/api/v1/relayer`

## Endpoints

{% content-ref url="/pages/ZUtZExzUlCHdLU9Th56L" %}
[Submit Transaction](/documentation/for-developers/api-reference/relayer-api/submit-transaction.md)
{% endcontent-ref %}

{% content-ref url="/pages/dxFWdDO6XaKOkAS6J3dz" %}
[Transaction Status](/documentation/for-developers/api-reference/relayer-api/transaction-status.md)
{% endcontent-ref %}

## Response envelope

```json
{
  "status": "1",
  "message": "OK",
  "result": {}
}
```

| Status  | Meaning                                  |
| ------- | ---------------------------------------- |
| `1`     | Success.                                 |
| `40001` | Invalid parameter or validation failure. |
| `401`   | Unauthorized.                            |
| `403`   | Source IP denied.                        |
| `429`   | Rate limit exceeded.                     |
| `500`   | Internal error.                          |

Parameter and authorization failures can use HTTP `200`. Always inspect the body `status`. HTTP `403`, `429`, and `500` are used for source-IP denial, rate limiting, and internal failures respectively.

## Documentation

{% content-ref url="/pages/pCD0YzmVdWHAb4bL5YwW" %}
[Transaction Relayer](/documentation/for-developers/developers/valuechain-evm/relayer.md)
{% endcontent-ref %}
