Smart Contracts themselves have five key properties:
1. First, they are transparent. This is because the financial logic of a banking product is fully encapsulated and described in the Smart Contract code. By looking at the code, the user will be able to fully understand exactly what the behaviour will be for their banking product in areas such as interest calculation, fees and more.
2. Second, they are configured as code. They are written in a subset of Python that enables the flexibility of code, whilst also exposing common functions (for example, make a posting) via the Contracts API. By having configuration as code, the user will be able to fine tune their banking products to your exact requirements by changing Smart Contract code.
3. Third, they are autonomous. You want certain account lifecycle events to execute at specific times, such as interest accrual. For other lifecycle events, such as fee accrual, the users may want them to only occur when the customer makes a specific type of outbound or inbound payment. Smart Contracts will autonomously carry out such activities according to the code that is written in the Smart Contract.
4. Fourth, they are parameterisable. Logic is driven by parameters at the instance, template, global and product levels.
5. Finally, Smart Contracts are flexible. Using parameters and flags, it can instantly update financial calculations and logic using our synchronous public APIs.