Manage Tokens

Manage the lifecycle of your ERC-3643

Managing the settings of your onchain assets

Token details - Mandatory for deployment

The first step is to define the basic details of the token:

  • Name: The name of your token, which will be displayed publicly on the blockchain
  • Symbol: The symbol of your token. For example, the symbol for Ether token is ETH.
  • Decimals: The number of decimals for the token. For example, ETH has 18 decimals.
  • Network: The network on which the token will be deployed. T-REX Engine currently supports the following networks:
    • Ethereum
    • Polygon
    • Avalanche
    • Telos
    • Klaytn
  • Token logo: The logo representing your token.
  • Instrument type: The type of instrument. You can set one of the following value:
    • Fund
    • Equity
    • Debt
    • Commodity
    • Stable coin
    • Other
  • Base currency: The currency of the underlying instrument.

Token ownership - Mandatory for deployment

When an ERC3643 is deployed through, an owner wallet is required. It is the key that will let you control who can manage the token for you. Consider this as the Master Key to your ERC3643: it is absolutely mandatory that this key is secured. The owner wallet cannot be restored nor forced.

Identity eligibility - Optional for deployment

In order for an identity to be eligible for an ERC-3643, it needs to have the following criterias met:

  • Having an ONCHAINID
  • Holding the required claim, as defined on the ERC-3643, on said ONCHAINID
  • The required claim should be emitted by a trusted claim issuer

In this step, the goal is to set up the required claim and the truster claim issuer.

Note: If you perform this action on an already deployed token, a blockchain transaction requires to be signed.

Compliance rules - Optional for deployment

The compliance rules for an ERC-3643 can be divided into 4 categories, allowing you to fine tune the trading rules of your asset.

All rules are executed onchain, through the compliance smart contract, for each movement where tokens are received on a wallet.

Jurisdictions

In this step, you can define the countries you want to authorise or deny from your token sale. This function will check the country of residence from the ONCHAINID of the investor to approve or reject the compliance of the trade.

Supply

In this step, you can define the supply limits as following:

  • Total supply: maximal circulating supply that the token can exist
  • Investor balance limit: maximal supply a single investor can have on the wallets linked to their ONCHAINID

All those rules can be activated or deactivated during the lifecycle of the token.

Transfer

As described above, ERC-3643 supports 3 types of transfers:

  • Simple transfer: allow an authorised investor to send tokens to another authorised investor.
  • Conditional transfer: approval(s) is(are) required for the transfer to be executed.
  • Transfer whitelisting: only a subset of whitelisted addresses are allowed to perform transfers.

Note: Transfer whitelisting and Conditional transfer are mutually exclusive. You can only activate one or the other on the same ERC3643.

On those type of transfers, you can also define:

  • Transfer limits over a given period of time
  • Transfer fees to be taken on each transfer

Simple transfer is the default method used when the token is deployed.

Set up the type of transfer

Reminder: Conditional transfer and Transfer whitelisting are mutually exclusive.

Conditional transfer

Conditional transfers allows you to put transfers initiated by an investor on hold until up to 5 validators approved the transfer.

Validators are defined by their wallet. The validation is expected onchain, enforcing that all the transfers initiated on the token are respecting this rule, whether they are created through the T-REX Engine or on the blockchain directly.

Transfer whitelisting

Transfer whitelisting allows you to restrict the investors to initiate transfers. This restriction is based upon investor ONCHAINID, to ensure that even if several wallets are used, the whitelisting will be respected. The checks are executed onchain, enforcing that all the transfers initiated on the token are respecting this rule, whether they are created through the T-REX Engine or on the blockchain directly.

Update the transfer limits

On top of the type of transfer to be used by the ERC-3643, you can also define a limit of transfer per identity for a given period of time. You can define limits per day, per week or to a given custom period of time. As for supply limit, the limits apply to the whole ONCHAINID of an investor, across all their wallets.

Set up the transfer fees

For each transfer, you can also decide to take a percentage of the transfer as fees, through a stablecoin of your choice. You need to set up:

  • The address of the wallet receiving the fees
  • The percentage of the fees
  • The address of the stablecoin used to take the fees.

Custom

You can also develop your own compliance rules and add it to the ERC-3643 through the T-REX Engine API.

Performing agent actions on the ERC-3643

As an agent, you can perform a certain number of actions on the token, depending on the permissions you were assigned.

  • Investor management: manage the new and existing authorised investors
  • Supply management: manage the circulating supply of your token

Investor management

If you were given the Write permission on the Identities domain, you have access to those two features.

Authorising new investors

To be able to receive tokens, an investor needs to be authorised on the ERC-3643. This means that:

  • The investor has an ONCHAINID
  • Holding the required claims from the ERC-3643 Trusted Claims Registry
  • Emitted by a trusted claim issuer defined on the ERC-3643 Trusted Claim Issuer Registry

Revoking investors

You can also decide to revoke previously authorised investors. This operation, on the blockchain, implies:

  • The expiration of the required claim.

Supply management

If you were assigned the Write permission on the Assets, you can execute the following features:

  • Mint and burn tokens to several wallets
  • Freeze and unfreeze positions
  • Force transfer between two wallets

Mint and burn: increasing or decreasing the circulating supply

Mint and burn allow you to increase (resp. decrease) the circulating supply of the token.

As minting could trigger the compliance rules, in order to make sure the mint is not going to break said rules, we recommend you to first validate the feasibility before calling the action itself.

Freezing and unfreezing positions

Freezing allows you to block part or totality of tokens on wallets. This means that these tokens can't be transferred by their holders, until they are unfrozen.

Force transfer

This feature allows an agent to transfer tokens between two investors wallets. It is a corrective feature that shouldn't be overused, as it is completely by-passing the compliance rules.

Pause and unpause token

This feature allows an agent to pause (resp. unpause) the token to prevent all investor transfers from happening. It doesn't block the agent actions described above.


What’s Next