> For the complete documentation index, see [llms.txt](https://docs.hydromancer.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hydromancer.xyz/readme/rest-api/outcomes/outcomevenuesoverview.md).

# outcomeVenuesOverview

List permissionless HIP-4 venues, their lifecycle, and sub-deployer permissions.

Returns every permissionless outcome venue with its activation lifecycle and currently effective sub-deployer permissions. Only executed actions are included — failed venue claims and failed grants never appear.

## POST Request

<table><thead><tr><th width="161">Field</th><th width="119">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type</code></td><td>string</td><td>Must be <code>"outcomeVenuesOverview"</code></td></tr><tr><td><code>isActive</code></td><td>boolean (optional)</td><td>Only active (<code>true</code>) or only deactivated (<code>false</code>) venues; absent returns both</td></tr><tr><td><code>limit</code></td><td>integer (optional)</td><td>Max venues returned, in <code>venueName</code> order. Default 20, maximum 100</td></tr></tbody></table>

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.hydromancer.xyz/info \
  -H "Authorization: Bearer $HYDROMANCER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "outcomeVenuesOverview"}'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import os

response = requests.post(
    'https://api.hydromancer.xyz/info',
    json={'type': 'outcomeVenuesOverview'},
    headers={'Authorization': f"Bearer {os.environ['HYDROMANCER_API_KEY']}"},
)
print(response.json())
```

{% endtab %}
{% endtabs %}

## Response

<table><thead><tr><th width="240">Field</th><th width="150">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>venues</code></td><td>array</td><td>All venues, ordered by <code>venueName</code></td></tr><tr><td><code>venues[].venueName</code></td><td>string</td><td>Venue name claimed via <code>activateOutcomeDeployer</code> (2–4 lowercase ASCII letters)</td></tr><tr><td><code>venues[].deployer</code></td><td>string</td><td>Deployer address that owns the venue</td></tr><tr><td><code>venues[].activatedAt</code></td><td>integer or null</td><td>Latest successful activation, ms since epoch; <code>null</code> only if no activation was ever recorded for the venue</td></tr><tr><td><code>venues[].deactivatedAt</code></td><td>integer or null</td><td>Latest deactivation, ms since epoch; <code>null</code> if never deactivated</td></tr><tr><td><code>venues[].isActive</code></td><td>boolean</td><td><code>false</code> once a deactivation is more recent than the latest activation</td></tr><tr><td><code>venues[].subDeployers</code></td><td>array</td><td>Addresses holding currently effective permissions (grants minus later revocations)</td></tr><tr><td><code>venues[].subDeployers[].user</code></td><td>string</td><td>Sub-deployer address</td></tr><tr><td><code>venues[].subDeployers[].variants</code></td><td>array of string</td><td>Delegated action variants, e.g. <code>"registerStandaloneOutcomeFromTemplate"</code>, <code>"settleOutcome"</code>, <code>"settleQuestion"</code></td></tr></tbody></table>

```json
{
  "venues": [
    {
      "venueName": "out",
      "deployer": "0x0c46eb73fae2816f219fcf11f50d6d3c59b5819e",
      "activatedAt": 1787992549143,
      "deactivatedAt": null,
      "isActive": true,
      "subDeployers": [
        {
          "user": "0xf1923927d7d2847191fb7ef8b1a16028aa5ae754",
          "variants": [
            "registerAndAssociateNamedOutcomeFromTemplate",
            "registerQuestionFromTemplate",
            "registerStandaloneOutcomeFromTemplate",
            "settleOutcome",
            "settleQuestion"
          ]
        }
      ]
    }
  ]
}
```
