# About Unibright ONE

Unibright ONE is the service-oriented synchronization platform that makes the baseline idea instantly usable for enterprises: Multichain- and multiparty synchronization under Zero Knowledge on Enterprise level.

Unibright ONE makes it possible to notarize the exchange of business objects (such as orders or invoices) between process participants. It is recorded on chain that all participants have reached an agreement that the correct content has been exchanged, i.e. sent, received and understood.

## **Unibright ONE’s key features** <a href="#id-4e58" id="id-4e58"></a>

Unibright ONE is designed as a web-based service application and offers among others:

* A **service API** for all microservices, callable from all ERP systems (SAP, Microsoft, Oracle, SalesForce, …) and legacy systems via REST services
* **Workgroups** with many participants for collaboration supported
* Baselining, notarization, workgroup management and notifications via **service calls**
* **Notifications** of new notarizations via pull (via REST), PUSH (via MQTT or NATS), email or retrieval via platform dashboard
* Usage of **multiple blockchains** (Baseledger, Ethereum, Polygon, Bitcoin) as notarization targets per call
* **Pay-per-use with fiat gateway and/or UBT payment** — no proprietary cryptocurrency holdings are required
* Optional securing of processes and involvement of third parties (such as auditors) through **zero- and limited-knowledge technology** (“SyncTree”)
* **Finalizing and exiting** of any number of single notarizations of one or more processes in arbitrary blockchains, where it is also explicitly possible to combine notarizations from different blockchains (e.g. Baseledger and Bitcoin) for an exit in another blockchain (e.g. Ethereum)
* **Dashboard** for configuration and administration


# About this Documentation

In this documentation, you will find a step-by-step guide on how to [Getting Started](/getting-started/account-creation) with Unibright ONE.

For a direct start, please refer to the [Swagger](/service-reference/swagger) API reference.

The documentation will be extended over time by various best-practice approaches, described in the [Cookbook](/cookbook/cookbook-overview).


# Account Creation

To start, navigate to <https://unibright.one> and click on LogIn/Register on the right top of the screen.

<figure><img src="/files/cOhJsBGImp2iu6UkGBZi" alt=""><figcaption><p>Startpage of Unibright ONE</p></figcaption></figure>

Click on "Register as a new user" and then register and create a new account by entering Email, Password and Password Confirmation.

<figure><img src="/files/Mno6eTsaTyES4qJgkaG9" alt=""><figcaption><p>Register for a new account</p></figcaption></figure>

You can additionally configure [2FA Activation](/getting-started/2fa-activation)in your account settings later.

After succesful creation, you will receive a confirmation mail from *<noreply@unibright.io>* (please also check your spam folder, in case your email program classified the confirmation mail as spam) where you can confirm the email address.&#x20;

<figure><img src="/files/oF6dSZNI9ll6oyP48VSx" alt=""><figcaption></figcaption></figure>

After that, you can move on to the login screen and log in.

<figure><img src="/files/VBqhYS4cxHeTL8Pu6CDW" alt=""><figcaption></figcaption></figure>

After succesful login, you will be redirected to the [Dashboard](/getting-started/dashboard).


# 2FA Activation

After succesful account creation, you can optionally activate 2FA in your account settings.

<figure><img src="/files/mmXK068SGH3wuFri1V27" alt=""><figcaption></figcaption></figure>

&#x20;


# Dashboard

The Dashboard gives you an overview about your current [Credits](/getting-started/credits), your [Workgroups](/getting-started/workgroups), your [Notarizations](/getting-started/notarizations) and [Notifications](/getting-started/notifications).

<figure><img src="/files/4mH3FJwhoMqhy7SXXeAq" alt=""><figcaption><p>Unibright ONE Dashboard</p></figcaption></figure>

&#x20;


# Credits

On the Credits page, you can see your current credit balance and recharge your credits.

<figure><img src="/files/ADlXRqNqwaGi0QZG0YUx" alt=""><figcaption></figcaption></figure>

Credits are needed for API calls and notarizations. Credits is the only thing you need, you do not need additional crypto currencies for the various target blockchains. Transaction costs are handled by Unibright ONE and are part of the charged credits.

* In the *Credit Balance* section, you see your current balance
* In the *UBT section*, you see your personal UBT deposit address. UBT you send to this address will be transformed into credits in Unibright ONE
* In the *Paypal section*, you can select different credit packages and pay with Fiat.
* In the *Deposit History section*, you see recent deposits and how they converted into credits


# Workgroups

On the workgroups page you can create and manage workgroups, invite other participants to your workgroup and see your invitations into other workgroups.

Workgroups are groups of participants that exchange business data within a workflow.

Under Create New Workgroup, you can create a new workgroup with a describing identifier.

<figure><img src="/files/dZJSZx6IAdHy2q5sYHIG" alt=""><figcaption></figcaption></figure>

After the creation you can manage...

* the number of needed approvals per workgroup for a workflow to be considered complete
* the information if a complete workflow should be directly exited into a single transaction on the blockchain
* the information if a veto is active, where a veto means a workflow with one ore more negative feedbacks (='rejection(s)') will not be exited
* the participants of the workgroup by inviting them via email (you have to use the email addresses that the participants are registered with at Unibright ONE)

<figure><img src="/files/mesxRzZApiYJs67JwFsV" alt=""><figcaption></figcaption></figure>

If somebody else invitied you to their workgroup, you see the pending invitiations which you can accept or reject. Your existing workgropups are listed below.

<figure><img src="/files/xaHZrF60I1yZqDGed5Ax" alt=""><figcaption></figcaption></figure>


# Notarizations

Under Notarizations, you can manage the default blockchain target for your notarizations. The default target can always be overridden in the API call. If it is not overriden, Unibright ONE will automatically use the default target and charge the displayed amount of credits.

<figure><img src="/files/odFJB4GlYo95o0SNiSv0" alt=""><figcaption></figcaption></figure>

You can see your last 100 notarizations in the list below.

<figure><img src="/files/WjYfdCl5AGYh433R1ZyL" alt=""><figcaption></figcaption></figure>

Notarizations themselves have to be posted via the Service API (check the [Swagger](/service-reference/swagger)reference for details) like in the example below.

<figure><img src="/files/kRyBTUBOv9YIg46rDhMl" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/p83KxUYOSkFwlDRfjjFk" alt=""><figcaption></figcaption></figure>

If you are part of a workgrop where a notarization happened, you will see a pending notification under [Notifications](/getting-started/notifications)where you can accept or reject.

<figure><img src="/files/Fe7vmw6rtmoGtvnnsHHb" alt=""><figcaption></figcaption></figure>

Please note that you can also query, accept and decline pending notifications by using the API. You do not have to use the frontend.


# Notifications

Under Notifications, you can select your current notification type:

* Pull will not notify you actively, but you will pull pending notifications by API calls only
* Email will notifiy you by your account email
* MQTT will notify by publishing to the specified MQTT topic

<figure><img src="/files/WRs7jTClRFwmVU0ecW6Q" alt=""><figcaption></figcaption></figure>

Pending notifications are also listed in the table below, independently from you notification type.

<figure><img src="/files/Fe7vmw6rtmoGtvnnsHHb" alt=""><figcaption></figcaption></figure>


# SyncTree

Unibright ONE makes it possible to notarize the exchange of business objects (such as orders or invoices) between process participants. It is recorded on chain that all participants have reached an agreement that the correct content has been exchanged, i.e. sent, received and understood.

For this purpose, objects are converted into a “SyncTree”, a Merkle tree which, in addition to the attributes of the object as leaves, also calculates hashes at various levels and displays them to check the correctness of the data. Only the top node of the tree, the “root proof,” is stored in the blockchain. Consensus can then be established via these notarizations, meaning that each participant in a business process verifies (i.e., accepts or disagrees with) the exchanged SyncTrees.

A set of individual notarizations including the associated approvals or rejections within a workgroup can be transferred back into a SyncTree of a special kind (the “TrustMesh”) and notarized after the end of the process itself. Among other things, this enables individual steps of a process (e.g., order, delivery notification, receipt confirmation, and invoice) to be stored cheaply and quickly in a highly available blockchain such as Baseledger, but the consensus on the overall process to be recorded afterwards in a blockchain such as Ethereum that is as widely used as possible.

The stored data in the blockchain is meaningful only to the participants in the process, and does not in itself reveal anything about the nature or content of the process or even about the participating parties. It is the immutable and temporally unambiguous recorded evidence that the root of a particular SyncTree was recorded in a blockchain at a particular time.

Uninvolved third parties, such as auditors, can be provided with portions of the SyncTree under Limited or Zero-Knowledge, so that all intermediate evidence can be recalculated and verified without revealing the actual content of the original business object.

**The sync-tree concept is already fully implemented on API level, the fronted visualization is still in progress and will be released on one of the next updates of Unibright ONE.**


# Swagger

The service API can be accessed under API Acess, loading the Swagger Documentation:

<figure><img src="/files/iQ4DO8lhWZYau8Q4ykp0" alt=""><figcaption></figcaption></figure>


# Cookbook Overview

This documentation will be extended over time by various best-practice approaches, collected and presented in this Cookbook.

<br>


