Application Architecture

1-part Urbit, 1-part DeFi, 2-parts human interaction.

The underlying architecture of %fund is somewhat novel to the world of bits, most notably in how it puts control back into the hands of it's users. It is partially a DeFi front end, partially a peer-to-peer social reputation system, and partially a project scope management tool. While some crypto "dApps" have started to have tripartite design it will typically be in the form of a centralized front end and database layer, with a decentralized global consensus layer. We find this lacking. Instead, we believe in putting practical sovereignty back into the hands of our users.

To achieve these ends, instead of a traditional 2-party front- and backend or more recent dApp architectures, the stack bridges across three underlying systems:

  • Ethereum, as the decentralized global consensus and smart contracting layer

  • Urbit, as the distributed backend for handling business logic and off-chain messaging

  • A browser based webapp for the front end interface, with public and private access mechanisms controlled by your urbit

Because you own your urbit, nobody but you can shut down your access to %fund and only the peers with whom you chose to share data can have access to it. Even as the developers of the code, we have no insight into the nature of your deals, or even the capacity to shut them down.

We share this explanation because the nature of %fund is fundamentally one of sovereignty, and the network within which you now operate is not controlled—or otherwise governed—by us. It will be up to you to make judgement calls on the credibility of your counterparties promises. To explore other applications on the network for insights into the people and groups with whom you chose to interact. To take the tools we give you, and chose how to use them.

"Caveat emptor, let the buyer beware, has been the rule of the marketplace for centuries." - Suze Orman

System architecture indicators

Throughout the application, you will see indicators of the parts of the system with which you are interacting. Most apparently, you will see this in button interactions:

~ : this icon indicates an interaction that will communicate across the urbit network, such as a pledge. It has no official impact to global state, but may change state shared with some peers.

: this icon indicates navigation to outside of the %fund application. This may be to a fully external site, or trigger opening a different application running on your ship. One example of this is to open a direct message with a peer in the %tlon application.

That said, button iconography is not strictly hierarchical and some buttons with have more general visual elements:

+ : these icons indicate intra-app navigation forwards and/or backwards in a workflow.

+ : these icons appear on confirmation modals and often will prompt a MetaModal for approving on-chain actions.

Last updated