We #buidl

A proposed standard for e-money, bank and central bank money issued tokens, with extended functionalities such as holds, clearance, detailed compliance, funding, and payout.

Compliance (EIP-2009)

This EIP proposes a service for decentralized compliance checks for regulated tokens.

Funding orders (EIP-2019)

An extension to the ERC-20 standard token that allows Token wallet owners to request a wallet to be funded, by calling the smart contract and attaching a fund instruction string.

Holds (EIP-1996)

An extension to the ERC-20 standard token that allows tokens to be put on hold. This guarantees a future transfer and makes the held tokens unavailable for transfer in the mean time. Holds are similar to escrows in that are firm and lead to final settlement.

Clearable Transfers (EIP-2018)

This proposal allows a user to order a transfer, which can be checked by a clearing agent off-chain.

Payout Orders (EIP-2021)

An extension to the ERC-20 standard token that allows Token wallet owners to request payout from their wallet, by calling the smart contract and attaching a payout instruction string.

Abstract E-money token standard

interface EMToken /* is ERC-1996, ERC-2009 ERC-2018, ERC-2019, ERC-2021 */ {


    function currency() external view returns (string memory);
    function version() external pure returns (string memory);

    function availableFunds(address account) external view returns (uint256);
    function checkTransferAllowed(address from, address to, uint256 value) external view returns (byte status);
    function checkApproveAllowed(address from, address spender, uint256 value) external view returns (byte status);

    function checkHoldAllowed(address from, address to, address notary, uint256 value) external view returns (byte status);
    function checkAuthorizeHoldOperatorAllowed(address operator, address from) external view returns (byte status);    
    function checkOrderTransferAllowed(address from, address to, uint256 value) external view returns (byte status);
    function checkAuthorizeClearableTransferOperatorAllowed(address operator, address from) external view returns (byte status);

    function checkOrderFundAllowed(address to, address operator, uint256 value) external view returns (byte status);
    function checkAuthorizeFundOperatorAllowed(address operator, address to) external view returns (byte status);

    function checkOrderPayoutAllowed(address from, address operator, uint256 value) external view returns (byte status);
    function checkAuthorizePayoutOperatorAllowed(address operator, address from) external view returns (byte status);
}

E-MONEY TOKEN STANDARD SUPPORTERS

Projects that support the e-money standard

BECOMING A REFERENCE

The E-Money Token is working with global institutions to become the standard for the use of real financial money on blockchain.

ITU-T

The E-Money appeared in the prestigious ITU-T Technical Report as one of the most relevant financial use cases for blockchain technology worldwide.

See the report

Token Taxonomy Initiative

The ERC-2020 is one of the first token projects defined under the standards of the Token Taxonomy Initiative, and a reference for financial use cases.

Visit the website

E-MONEY TOKEN IN THE DEVCON

The E-Money Token was introduced by ioBuilders in the 2019 Osaka Devcon. The Lighting Talk illustrating the characteristics of the ERC-2020 was a big success with the community.

Watch video