# Account management · Asset management system with React and FT4 · Learn Chromia

> This lesson shows you how to build account management with FT4: you write operations that register new accounts and control account permissions.

Source: https://chromia.com/learn/ft4-demo-app/module-blockchain/account-management/

Asset management system with React and FT4Lesson 6 of 16

1. [01Create an asset management system using FT4](https://chromia.com/learn/ft4-demo-app/introduction/)

Module 1: Initialize the full-stack application

1. [02Overview](https://chromia.com/learn/ft4-demo-app/module-init/)
2. [03Prepare the full-stack application](https://chromia.com/learn/ft4-demo-app/module-init/setup-application/)

Module 2: The blockchain dapp

1. [04Overview](https://chromia.com/learn/ft4-demo-app/module-blockchain/)
2. [05Part 1: Set up the blockchain dapp](https://chromia.com/learn/ft4-demo-app/module-blockchain/setup/)
3. [06Account management](https://chromia.com/learn/ft4-demo-app/module-blockchain/account-management/)
4. [07Asset Registration and Minting](https://chromia.com/learn/ft4-demo-app/module-blockchain/asset-registration/)
5. [08Test the asset management system](https://chromia.com/learn/ft4-demo-app/module-blockchain/test/)

Module 3: The frontend application

1. [09Overview](https://chromia.com/learn/ft4-demo-app/module-frontend-application/)
2. [10Part 1: Prepare the frontend application](https://chromia.com/learn/ft4-demo-app/module-frontend-application/setup/)
3. [11Part 2: Tools for Chromia development](https://chromia.com/learn/ft4-demo-app/module-frontend-application/tools/)
4. [12Part 3: Registering accounts](https://chromia.com/learn/ft4-demo-app/module-frontend-application/account-regisration/)
5. [13Part 4: Registering and minting](https://chromia.com/learn/ft4-demo-app/module-frontend-application/register-and-mint/)
6. [14Part 5: Burning tokens](https://chromia.com/learn/ft4-demo-app/module-frontend-application/burn/)
7. [15Part 6: Transferring assets](https://chromia.com/learn/ft4-demo-app/module-frontend-application/transfer/)
8. [16Part 7: Deploying onchain](https://chromia.com/learn/ft4-demo-app/module-frontend-application/deploy-onchain/)

[Learn](https://chromia.com/learn/)[Asset management system with React and FT4](https://chromia.com/learn/ft4-demo-app/)

06 / 16Module 2: The blockchain dappIntermediate

# Account management

This lesson shows you how to build account management with FT4: you write operations that register new accounts and control account permissions.

## Account authentication

The main module contains an authentication handler, which sets the permissions each operation requires.

Account registration relies on the Open Strategy. With it, any caller can invoke the `register_account()` operation and create an account with no restrictions. To enable it, add `import lib.ft4.accounts.strategies.open` to the main file so that registration uses the Open Strategy.

src/main.rell

```
module;

import lib.ft4.auth;
import lib.ft4.accounts.strategies.open;
import lib.ft4.core.accounts.{ account, Account, create_account_with_auth, single_sig_auth_descriptor };

@extend(auth.auth_handler)
function () = auth.add_auth_handler(
    flags = ["T"]
);
```

An auth descriptor defines who can access an account and which actions they may perform. The `T` flag gives accounts transfer permissions, which the asset management system depends on. For background, read the [FT4 accounts overview](https://docs.chromia.com/build/ft4/intro/). For the full list of strategies and how each one is implemented, see [Account Registration Framework in the Chromia docs](https://docs.chromia.com/build/ft4/backend/accounts/overview/#account-registration-framework).

Written for this site from Chromia’s public course. Code samples are the course’s own.

[← Previous**Part 1: Set up the blockchain dapp**](https://chromia.com/learn/ft4-demo-app/module-blockchain/setup/)[Next →**Asset Registration and Minting**](https://chromia.com/learn/ft4-demo-app/module-blockchain/asset-registration/)

On this page

* [Account authentication](#account-authentication)
