There are some 321 000 limited liability companies in Norway - less than 1000 have their shareholding listed in a securities register. While every company is obliged to keep an updated cap table, the vast majority of companies report shareholding only for tax purposes once a year.
Many people believe in a local business or a start-up, but few have the energy and insights to invest. What energy might be released if more people were able to take part in financing ideas they believe in. By providing infrastructure, we hope to establish a platform that makes ownership transparent and lower the risks of engaging with small and mediums sized enterprises. Doing so is part of a broad effort to make capital more efficient, for example, by making shares liquid, allowing their use as collateral and link loans, mortgages, and payments direct to shares and share transactions. In the process, it is quite possible to imagine a greatly simplified public reporting where regulators may themselves access the required data - and a greatly simplified corporate governance involving share loyalty programs, the payment of dividends and voting. In short, the platform may serve to open and democratizing the unlisted markets for new groups of investors.
Norwegian limited liability companies must have a share capital of at least NOK 30,000 assigned to one or more shares, each of identical nominal value. The total share capital, the number of shares, and their nominal value is stated in the company's articles of association.
All limited liability companies shall have a register of shareholders unless the company's shares are registered in a securities register. The cap table shall contain an overview of the company's shareholders, and it will typically determine who may exercise shareholder rights, including the right to vote at the general meeting and the right to receive dividends. The cap table is, in principle, public - insight should not be denied.
Upon listing a shareholder in the shareholders' register, the company shall notify the shareholder thereof. The shareholders' register shall be updated in accordance with established rules in the Companies Act (§ 4-7) to reflect changes of ownership or pledging of shares. Shares can be sold or given away without payment unless otherwise stated by law, articles of association or agreement between the shareholders. In the case of a sale, the price is usually calculated based on market value. Transfers of ownership below market value are referred to as "gift sale" and may trigger a tax liability. When shareholders sell or otherwise realize shares, gains will be taxable and losses deductible. The Companies Act contains rules on the consent of acquiring shares, and rules on pre-emption rights for the other shareholders. An agreement to transfer shares shall be reported to the board of the limited company by the person acquiring the shares. The agreement should, as a minimum, list all the parties, the number of shares to be transferred, and at what price. Transfers in BrregCapTable will be reported automatically. The new shareholder must be notified by the company that she has been included in the shareholders' register and what is listed.
Companies and shareholders that rely on BrregCapTable may need not keep a separate cap table nor report its details to the government as everything is automated.
Shareholder agreements are normally entered into between shareholders of a company and regulate the relationship between them. Shareholders are not obliged to enter into such an agreement, but it may be useful. A shareholder agreement obliges only the shareholders who have signed the agreement. There are no requirements as to how the agreement should look or what it should contain. Examples of conditions that can be regulated in a shareholder agreement are rules relating to ownership, demands for dividends, non-compete clauses, impartiality, and work/employment requirements.
It is not uncommon for conflicts between shareholders to arise regarding the organization and running of a company. Since the causes of conflict may be difficult to spot in advance, it may make sense to
In cases where the shareholders no longer manage to cooperate with each other, the district court may, in response to a lawsuit from a shareholder or from the company, decide on the redemption or release of a shareholder's shares. Such lawsuits must be regarded as last resort, and there must be weighty reasons.
Captable is a smart contract protocol following the ERC1400 standard. The implementation heavily utilizes and are interoperatbleConsensys 1400 implementation.
There are mainly four ways to extend or hook into the Captable protocol.
In this example, a property owner collateralizes his property. This token of ownership but dependent on collateralization can then be utilized in a system for exchange.
This example heavily utilizes hooks so that independent entities can exchange tokens.
Que works as a filter for the registry. This is where Brreg receives issues for new registrations. Then verifies and process them into the registry.
The Captable template automatically inserts the captable into que.
https://gitlab.com/brreg1/captable/-/blob/master/contracts/CapTableQue.sol
Registry is where approved Captables go. This is the public registery that all services should use and follow.
https://gitlab.com/brreg1/captable/-/blob/master/contracts/CapTableRegistry.sol
For shared ownership. Will be extended upon in the future.
https://gitlab.com/brreg1/captable/-/blob/master/contracts/MultiSigWallet.sol
AUTH_ORACLE='0x4A6Ecc8631990741263b38EEB434405C04CDc723'
ERC1820='0x7C2F9F4A231F37BA7321D56B19909c8FE5dFd144'
QUE='0xD6fD724617D63bc7d8347770f1495706aff622b0'
REGISTRY='0x894f201a7b7E5B42e0840C9797fd42C6
PROPERTY_PLATTFORM='0xEC0712a5c12cFEE4F39b1D7E0903bf6098b8c54D'
PROPERTY_REGISTRY='0xf9Bcfd9F56F4D9061dF42FB011DC04958eAcD32d'
TRADE_REGISTRY='0xBd9F1aaa4aCB569996352376262b7Dec770B1683'
MORTGAGE_REGISTRY='0xA4f5f570700DE2Bee9b773422CD04A9439AA20Df'
npm run deploy::brreg
REACT_APP_AUTH_ORACLE='0x123'
npx buidler deploy --network brreg
REACT_APP_ERC1820='0x123'
REACT_APP_QUE='0x123'
REACT_APP_REGISTRY='0x123'
npx buidler test --network brreg
REACT_APP_PROPERTY_PLATTFORM='0x123'
REACT_APP_PROPERTY_REGISTRY='0x123'
REACT_APP_TRADE_REGISTRY='0x123'
REACT_APP_MORTGAGE_REGISTRY='0x123'
If you have created an application and want it listed here, contact Jon at blockchangers.com
Want to just get going? Jump to Quikstart
As Brreg Captable is a service facilitated by blockchain technology, end-users will interact with your service in ways that differ from a regular client-server approach.
Instead of credentials authenticating the user and giving the user the correct access, end users are expected to use a browser with blockchain wallet functionality. This functionality is available in
As a frontend developer, you must download this plugin and use it when developing frontend applications.
In the top-right menu of MetaMask, you can select the network that you are currently connected to. Among several popular defaults, you'll find Custom RPC. Use it and set
Since your seed phrase is the power to control all your accounts, it is probably worth keeping at least one seed phrase for development, separate from any that you use for storing real value. One easy way to manage multiple seed phrases with MetaMask is with multiple browser profiles, each of which can have its own clean extension installations.
Note that users of your application will have to connect Metamask to the Brreg network, too, while BrregCapTable remains in development as a beta.
There are settings you should keep in mind when interacting with Metamask: