> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# getNetworkTopology()

> Returns the current WebRTC connection topology for the call.

`getNetworkTopology()`

<Badge color="green">{"✓"} Prebuilt</Badge> <Badge color="green">{"✓"} Custom</Badge>

Returns the WebRTC connection topology currently in use for the call. All calls default to SFU topology, including 1:1 calls.

## Return value

Returns a `Promise<{ topology: 'sfu' | 'peer' | 'none', error?: string }>`:

<ResponseField name="topology" type="string">
  The current connection topology:

  * `'sfu'` — media is routed through Daily's Selective Forwarding Units
  * `'peer'` — media is sent directly between participants
  * `'none'` — topology has not yet been determined or is not applicable (before WebRTC connections have been established or after leaving the call)
</ResponseField>

<ResponseField name="error" type="string">
  Present only if an error occurred while determining the topology.
</ResponseField>

## Example

```javascript theme={null}
const { topology } = await call.getNetworkTopology();
console.log('Topology:', topology); // 'sfu'
```

## See also

<CardGroup>
  <Card title="Events" icon="bolt" iconType="solid">
    * [network-connection](/reference/daily-js/events/network-events#network-connection)
  </Card>

  <Card title="Guides" icon="book-open" iconType="solid">
    * [Call quality](/docs/daily-js/guides/network-quality)
    * [Video call architecture](/docs/guides/architecture-and-monitoring/intro-to-video-arch)
  </Card>
</CardGroup>
