# Get a Network's Account Structure

Your tenant's structure on one network, with its treasury, its pool, how many collection accounts it has and its sweep policies.

## Overview

- A network you never declared answers `segregated` — every tenant's until it declares otherwise —, with no treasury, pool or policy, and `updatedBy` and `updatedAt` `null`. How the two structures work: [Account Structures](https://docs.aureahub.com/docs/guide-account-structures.md).
- `network` other than `mainnet` or `testnet`: `400` `STRUCTURE_REQUEST_INVALID`.
- For `owner`, `tenantadmin`, `non_signing_admin`, `signer`, `approver`, `editor`, `viewer` and `auditor`, on their own tenant, with an access token.

## Fields

| Field | Meaning |
| --- | --- |
| structure | `segregated` or `omnibus`. |
| poolRule | Which pool account pays a withdrawal: `priority` (the first in pool order that can) or `largest_balance` (the one holding the most of the asset). `priority` until you set it. |
| fundingAddresses | Your own EVM addresses, in lower case: what they send to a collection wallet is the house's, never the customer's. |
| treasuryAccountId | The account sweeps go to; `null` on a segregated network. |
| pool | The pool in order: `accountId`, `position` (from 0), `isTreasury` — the treasury, when it is in the pool. |
| collectionAccounts | How many collection accounts the network has ([List Collection Accounts](https://docs.aureahub.com/docs/structures-collection-list.md)). |
| sweepPolicies | The network's sweep policies, by chain and asset ([List Sweep Policies](https://docs.aureahub.com/docs/structures-policies-list.md)). |
| jobOn | Whether the omnibus's processing runs now: `false` until it comes ([Feature Availability](https://docs.aureahub.com/docs/feature-availability.md)) — nothing is swept, and a pool withdrawal answers `503` `OMNIBUS_JOB_OFF`. |
| updatedBy, updatedAt | Who last declared the network's structure, and when; `null` for a network never declared. |

## Endpoint

### `GET /v1/structures/{network}`

Authentication: bearer token required.

Your tenant's account structure on one network.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `network` | string | yes | `mainnet` or `testnet` |

**Responses**

`200` Omnibus

```json
{
  "network": "mainnet",
  "structure": "omnibus",
  "poolRule": "priority",
  "fundingAddresses": ["0x661edf1a2bd8d4826b91cc9089e1044ccd556bad"],
  "treasuryAccountId": "3e3f3321-a179-423c-b4fb-8a4fe6bc5756",
  "pool": [
    { "accountId": "a9dcb8c6-9bee-4900-b792-cd01bd77820b", "position": 0, "isTreasury": false },
    { "accountId": "3e3f3321-a179-423c-b4fb-8a4fe6bc5756", "position": 1, "isTreasury": true }
  ],
  "collectionAccounts": 3,
  "sweepPolicies": [
    {
      "chainId": 8453,
      "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "symbol": "USDC",
      "decimals": 6,
      "minAmount": "50000000",
      "leaveBehind": "0",
      "intervalSeconds": 3600,
      "windowFromMinute": 1320,
      "windowToMinute": 360,
      "enabled": true,
      "updatedAt": "2026-10-13T09:20:11.402Z"
    },
    {
      "chainId": 8453,
      "asset": "native",
      "symbol": "ETH",
      "decimals": 18,
      "minAmount": "10000000000000000",
      "leaveBehind": "200000000000000",
      "intervalSeconds": 86400,
      "windowFromMinute": null,
      "windowToMinute": null,
      "enabled": true,
      "updatedAt": "2026-10-13T09:21:47.090Z"
    }
  ],
  "jobOn": false,
  "updatedBy": "454bda73-ba10-4bac-9e62-e28e4e575007",
  "updatedAt": "2026-10-13T09:12:40.511Z"
}
```

`200` Segregated

```json
{
  "network": "testnet",
  "structure": "segregated",
  "poolRule": "priority",
  "fundingAddresses": [],
  "treasuryAccountId": null,
  "pool": [],
  "collectionAccounts": 0,
  "sweepPolicies": [],
  "jobOn": false,
  "updatedBy": null,
  "updatedAt": null
}
```

`400` Network

```json
{
  "statusCode": 400,
  "error": "BadRequestError",
  "message": "Invalid request",
  "details": {
    "code": "STRUCTURE_REQUEST_INVALID",
    "errors": ["network: Invalid enum value. Expected 'mainnet' | 'testnet', received 'base'"]
  }
}
```

**Example request**

```bash
curl https://api.aureahub.com/v1/structures/mainnet \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

---

Web version: https://docs.aureahub.com/#structures-get
