mukan-ibc/docs/versioned_docs/version-v10.1.x/02-apps/02-interchain-accounts/03-auth-modules.md
Mukan Erkin Törük 6852832fe8
Some checks failed
CodeQL / Analyze (push) Waiting to run
Docker Build & Push Simapp (main) / docker-build (push) Waiting to run
golangci-lint / lint (push) Waiting to run
Tests / Code Coverage / build (amd64) (push) Waiting to run
Tests / Code Coverage / build (arm64) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[additional-args:-tags="test_e2e" name:e2e path:./e2e]) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[name:08-wasm path:./modules/light-clients/08-wasm]) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[name:ibc-go path:.]) (push) Waiting to run
Deploy to GitHub Pages / Deploy to GitHub Pages (push) Has been cancelled
Buf-Push / push (push) Has been cancelled
initial: sovereign Mukan Network fork
2026-05-11 03:18:28 +03:00

1.5 KiB

title sidebar_label sidebar_position slug
Authentication Modules Authentication Modules 3 /apps/interchain-accounts/auth-modules

Building an authentication module

:::note Synopsis Authentication modules enable application developers to perform custom logic when interacting with the Interchain Accounts controller sumbmodule's MsgServer. :::

The controller submodule is used for account registration and packet sending. It executes only logic required of all controllers of interchain accounts. The type of authentication used to manage the interchain accounts remains unspecified. There may exist many different types of authentication which are desirable for different use cases. Thus the purpose of the authentication module is to wrap the controller submodule with custom authentication logic.

In ibc-go, authentication modules can communicate with the controller submodule by passing messages through baseapp's MsgServiceRouter. To implement an authentication module, the IBCModule interface need not be fulfilled; it is only required to fulfill Cosmos SDK's AppModuleBasic interface, just like any regular Cosmos SDK application module.

The authentication module must:

  • Authenticate interchain account owners.
  • Track the associated interchain account address for an owner.
  • Send packets on behalf of an owner (after authentication).

Integration into app.go file

To integrate the authentication module into your chain, please follow the steps outlined in app.go integration.