Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

xGov Architecture Integrations

The xGov Architecture supports integrations with external on-chain Applications, especially those related to vote delegation of xGovs or the vote of the xGov Council.

Third parties and Applications can rely on the xGov Registry ARC-56 App Spec to build:

  • The App Client for direct ABI calls to the xGov Registry, or

  • The App Interface for internal C2C ABI calls to the xGov Registry from their Applications.

To integrate the xGov contracts, you can follow these steps:

  1. Choose one of these integration paths:

    • Generate clients from the ARC-56 App Spec: add xgov-beta-sc as a git submodule in your project, or otherwise consume the relevant ARC-56 App Spec as a dependency.

    • Download pre-generated clients: copy the already generated App Client (contract_client.py) and AVM Client (contract_avm_client.py) from the smart contract artifact folders in this repository.

  2. If you generate Python or TypeScript clients from the ARC-56 App Spec:

    • Use algokit generate client ... to generate the App Client for direct ABI calls.

    • Use puyapy-clientgen to generate the AVM Client for inner abi_call() usage from your application.

  3. If you download the pre-generated Python clients, use the artifact folders for the relevant contract: