Exchange types allow configuration of types of exchanges between agents, including transfers of resources that are or are not reciprocal. We do not want networks to be stuck with the business-as-usual purchase and sale.
Concepts & Tutorial
Exchanges involve transferring the rights to one or more resources from one agent (person or group) to
another. This is opposed to Processes, which create or enhance or transport the resources themselves.
Exchanges can be made with agents outside the network, or completely within the network.
Rights are generally thought of as ownership rights, but could also be defined in other ways, depending
on what the group is trying to do.
Setting up exchange types fits into the NRP here...
Exchange Types define your exchanges...
Exchange Types are completely user definable. Thinking about what exchange types is part of
thinking about the shape and flow of resources within your network.
Here is an example of a set of Exchange Types for a network that chooses dominantly to record
processes internal to the network. For them, exchanges primarily happen on the edges of the
network, either resources coming in or going out. They are focused internally on recording
Some networks will organize their network primarily around internal exchanges and never distribute
income from sales. Here is an example where the resources move through the network through
ownership transfer from agent to agent in a predictable pattern. The resources change ownership at
each stage, and are paid for at the time of this transfer or later.
This allows viewing the movement of resources through the network in a unified way.
The structure of an exchange is defined by its types...
● An Exchange Type lets you name exchanges, and groups Transfer Types that are related
because of their reciprocity, for example I paid for what I received.
● A Transfer Type is where most of the configurable information resides, including naming and
behavior. It is defined within the Exchange Type as reciprocal or not. Any number of Transfer
Types can be created for an Exchange Type.
● A Transfer has a Give and a Receive Event, as scoped by the network. So, an internal transfer
will have a Give and a Receive, an incoming transfer will have only a Receive, and an outgoing
transfer will have only a Give.
● Incoming (primarily), such as purchasing inputs or receiving contributions into the network
● Internal, when rights to resources are explicitly transferred inside the network
● Outgoing (primarily), such as selling or trading what was created
Three scenarios for an exchange...
How do we decide what is “primarily” incoming or outgoing? This will work best if the flow of goods that
are the impetus for the exchange is the primary transfer, and what is traded for those goods (money or
something else) is the reciprocal transfer.
Give and Receive events, just wondering why...
Why are there both Give and Receive events for one Transfer?
Very often, the Give and Receive events contain the same information. But not always. For
example, if you wanted to transfer some currency from one virtual account or wallet to another, the
Give event will decrease the “from” virtual account, and the Receive event will increase the “to”
virtual account. Since events affect only one resource, we need 2 events. Note the resource is the
virtual account, not the chunk of currency “in flight” between the accounts.
Separate Give and Receive events also allow different viewpoints on a Transfer. So one network
might Give a resource to another network, which Receives the resource. As we get networks of
networks, this will be useful in accurately representing what happened and putting data together.
See also the previous slide.
The Give and Receive events maintain the base value flow architecture:
Transfer type configurability...
Can be used in a value equation: This will give
this as an option when a transfer is created, so
people can choose to be part of a value equation
distribution or not.
Can be used as a resource to distribute: This
marks the transfer as income that can be chosen
to be distributed.
Can create a new resource: This brings up the
form to create a new inventoried resource or add
to an existing inventoried resource when a
transfer is created.
Transfers a currency or money: This will limit
the choices to money and for internal transfers
open up both give and receive virtual accounts.
Agent filters: Context agent, if checked, sets a
default for forms. Selecting types of agent
associations limits the choices.
Exchange Type pattern...
For each Transfer Type within an Exchange Type, you can define limits for the dropdown lists for
resource types, to keep them shorter and limited to those that make sense. For example, for this
Transfer Type called Receipt, you want to see only items that would be purchased for the network.
Or for a Transfer Type called Payment, you might want to see only items that are money. (Or not,
but this makes it completely configurable.)
1. Choose Exchange Types from the dropdown menu in the upper right.
2. To create a new exchange type, choose the use case, enter a name,
and press the Create button.
3. To modify an existing exchange type, click on the exchange type in
the list below.
4. To delete an exchange type, click the X delete button by the
exchange type in the list. It is only deletable if it has no actual
transfers recorded using it.
(See previous slide.)
1. Modify any information needed at the Exchange Type level.
2. Add or modify Transfer Types for the Exchange Type.
○ See earlier slide for details on the configuration options.
○ The sequence governs the order on the Exchange page.
○ To pick what is reciprocal and what is not, consider what is the primary reason for the
exchange, not the order of occurrence. For example, if you are making a sale, the primary
reason is what you are delivering, and the reciprocal transfer is the payment for that. If you
are making a purchase, the receipt of the goods is primary, payment is reciprocal.
3. For each Transfer Type, set up the pattern for resource type lists that will display when the
transfer is created.
○ Choose from the pattern facet lists on the right.
○ “Less is more”, consider the minimum choices needed.
○ The resulting lists appear on the left when you save changes. If you are missing items you
think should appear, you may need to adjust your choices on the right. Or you may need to
adjust the facet values that were assigned to the missing resource type. In this case, take
the Change Resource Type Facets link at the top and correct the resource type.