> For the complete documentation index, see [llms.txt](https://docs.zkbridge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zkbridge.com/layerzero-zklightclient-configurations/layerzero-ua-configuration.md).

# LayerZero UA Configuration

To configure zkLightClient as the oracle using LayerZero UA, your application needs to modify the default oracle of the L0 Endpoint.&#x20;

You can use the following code in `ILayerZeroEndpoint` to set the zkLightClient oracle. &#x20;

<pre class="language-solidity"><code class="lang-solidity">// Remember to call this piece of code in ILayerZeroEndpoint on both the sender chain and receiver chain to set up zkLightClient as the oracle.
/**

* @param dstChainId - the destination chain identifier

* @param zkLightClient - the ZkLightClient address

*/

function setOracle(uint16 dstChainId, address zkLightClient) external {

    uint256 TYPE_ORACLE = 6;

    ILayerZeroEndpoint(lzEndpointAddress).setConfig(

        ILayerZeroEndpoint(lzEndpointAddress).getSendVersion(address(this)),

<strong>        dstChainId,
</strong>
        TYPE_ORACLE,

        abi.encode(zkLightClient)

    );

}
</code></pre>

{% hint style="info" %}
Important: Please remember to set it in both the application of the sender chain and the application of the receiver chain to make sure the message is correctly delivered.
{% endhint %}

For more information, check out the tutorial here.

{% embed url="<https://layerzero.gitbook.io/docs/evm-guides/interfaces/evm-solidity-interfaces/ilayerzerouserapplicationconfig>" %}
