---
# System prepended metadata

title: FD Contract

---

---
robots: noindex, nofollow
---

# FD Contract

# Overview

This document spells out terms under which _Blockchain Commons_ will develop open software for Foundation Devices (_Third Party_).

# Work Order

These terms apply to work done under any **Work Order** that references these terms.  Each _Work Order_, together with these terms, makes up an agreement between _Third Party_ and _Blockchain Commons_

# Blockchain Commons' Obligations

## Do the Work

Beginning on receipt of first payment, _Blockchain Commons_ will manage selected _Developers_ to complete all milestones on the _Work Order_ in a timely and professional manner by contributing source code and other written work to the repositories on the _Work Order_.  Work will only count as **Contributions** under this agreement when they are:

- stored in Git commits

- signed according to [Sign Every Commit](#sign-every-commit)

- either:

  - pushed to the main development branch of the relevant repository

  - submitted to that repository as pull requests, e-mail-formatted patches, or similar invitations to incorporate into the main development branch

Or else:

- contributed to _Third Party_ in another way specified by _Third Party_ in the _Work Order_.

## Stick to the Repositories

_Blockchain Commons_ agrees to work on the repositories and other tasks on the _Work Order_ only, and not to count hours working on any other projects or repositories without prior, written approval from _Third Party_'s technical representative.

## Sign Every Commit

_Blockchain Commons_ agrees to have each of the _Developers_ sign Git commits for all Git _Contributions_ with a single keypair so that each commit can be verified using Git's built-in verify-commit subcommand.

## Leave Time for Approval

_Blockchain Commons_ agrees to coordinate with _Third Party_ to ensure that work is delivered with sufficient time left for _Third Party_ to clarify and approve completion of milestones before the end date on the _Work Order_.  _Blockchain Commons_ agrees to work on milestones in a logical order that enables _Third Party_'s technical representative to review and approve milestones in sequence, one at a time.

## Spend Spare Hours on the Repositories

If _Blockchain Commons_ completes all milestones with hours to spare, _Blockchain Commons_ agrees to use remaining hours to make general or other improvements to the repositories on the _Work Order_ or to the general scope of work.

## Track Time

_Blockchain Commons_ agrees to track time spent working on milestones in fairly rounded, hourly increments.

## Send Weekly Reports

_Blockchain Commons_ agrees to send _Third Party_'s technical representative a report with all the following information within four business days after the end of each workweek:

- a summary of work done during the week

- requests for approval of any milestones

- the number of hours worked so far

- the number of hours remaining

## Send Bills

_Blockchain Commons_ agrees to bill _Third Party_ for each payment due under the agreement according to _Third Party_'s billing instructions on the _Work Order_.

## Cover General Expenses

_Blockchain Commons_ agrees to pay for all equipment, licenses, and services needed to develop open software, generally or have their _Developers_ do so. For example, _Blockchain Commons_ agrees to provide their own computer, operating system, development environment, and Internet access or have their _Developers_ do so.

## Return Loaned Equipment

After work is done under the agreement, and at any time on _Third Party_'s request, _Blockchain Commons_ agrees to promptly return any equipment _Third Party_ loaned for work under this agreement.

## Manage Developers

- _Blockchain Commons_ agrees to use only _Developers_ that have all the expertise needed to do the work efficiently.

- If _Third Party_'s technical representative objects to a particular _Developer_, _Blockchain Commons_ agrees to stop using that subcontractor to do work under the agreement.

- _Blockchain Commons_ agrees to sign a contract with each _Developer_ requiring them to assign _Intellectual Property Rights_ to _Blockchain Commons_ and to respect _Confidential Information_.

- _Blockchain Commons_ agrees to send _Third Party_ a copy of any contract with a _Developer_ promptly on request.

## Appoint Replacement Technical Representatives

_Blockchain Commons_ agrees to appoint a replacement technical representative, preapproved by _Third Party_, if the current one leaves or becomes unavailable.

# Third Party's Obligations

## Pay Blockchain Common's Fee

_Third Party_ agrees to pay _Blockchain Commons_ the fee on the schedule on the _Work Order_, if any, and otherwise on this schedule:

- One fifth of the fee on entering into this agreement

- One fifth of the fee on one month after the Start Date

- One fifth of the fee on two months after the Start Date

- One fifth of the fee on three months after the Start Date

- One fifth of the fee on the End Date


## Follow Payment Instructions

_Third Party_ agrees to make all payments to _Blockchain Commons_ under this agreement denominated in the currency and according to the payment instructions agreed on the _Work Order_.  _Third Party_ will not increase or decrease payments under this agreement according to, or to offset, changes in the market price of the denominating currency.

## Pay on Time

_Third Party_ agrees to pay all correctly billed amounts on each bill within seven calendar days of receipt.  If _Third Party_ does not pay a bill on time, _Blockchain Commons_ can notify _Third Party_ and have _Developers_ stop work until all overdue bills are paid.  Stopping work in this way postpones all deadlines for as long as work stops.

## Cover Extraordinary Expenses

If milestones require extraordinary equipment, licenses, services or other major expenses, then _Third Party_ agrees to cover the costs to the _Blockchain Commons_ that _Third Party_'s technical representative preapproves in writing. For example, _Third Party_ may approve the costs of proprietary software licenses, testing hardware, and specific online services that milestones require _Blockchain Commons_ to use. If _Third Party_ requires _Blockchain Commons_ to use and return specific equipment, _Third Party_ agrees to pay the costs of packaging and shipping, both ways. If _Third Party_ cannot pay an approved extraordinary expense directly, _Third Party_ agrees to advance _Blockchain Commons_ the cost.

## Clarify Milestones

_Third Party_ agrees to respond promptly to _Blockchain Commons_ requests to clarify milestones.

## Approve Milestones

_Third Party_ agrees to respond promptly to _Blockchain Commons_ requests to review _Developers_' work and either confirm that milestones have been completed or clarify what work still needs to be done.

# Intellectual Property

## Purposes of Intellectual Property Terms

This section (especially [Developer Assigns Intellectual Property](#developer-assigners-intellectual-property)) assigns ownership of intellectual property in _Blockchain Commons_' _Contributions_.  That way:

- _Third Party_ can choose the license for the work, and update that license over time.

- _Third Party_ can enforce the terms of the licenses it chooses.

- _Third Party_ can be sure that it actually has the legal rights needed to license and enforce.

## Intellectual Property Expectations

_Third Party_ will release work done under any _Work Orders_ by some sort of permissive license that Blue Oak Council rated "Bronze" or better when it is reasonable for them to do so and does not impact their confidentiality needs.

_Third Party_ may delay such release of any work for up to a year, but no longer, if that is helpful to their needs of confidentiality.

_Third Party_ may note in the _Work Order_ specific, proprietary elements of the _Work Order_ that will be kept confidential and not ever be released under a permissive license.

## Intellectual Property Definitions

- **New Intellectual Property** means all _Intellectual Property Rights_ in _Blockchain Commons_' _Contributions_ except those previously owned by _Blockchain Commons_.

- **Intellectual Property Rights** means copyrights, mask work rights, moral rights, patent rights, trade secrets, trade names, trademarks, service marks, trade dress rights, database rights, and rights in any registrations or applications for _New Intellectual Property_.

- **Dependencies** means all works that _Blockchain Commons_' _Contributions_ explicitly incorporate, depend on, install, configure, invoke, or link to, directly or indirectly.

## Dependencies

_Blockchain Commons_ agrees to ensure their _Contributions_ under this agreement have only the following kinds of _Dependencies_:

- Permissively licensed software made available to the public on the terms of form licenses that Blue Oak Council rated "Bronze" or better on the start date on the _Work Order_ and that is compatible with the GPL v3 license.

- _Dependencies_ that are not permissively licensed but that _Blockchain Commons_ has the legal right to assign to _Third Party_ under [Developer Assigns Intellectual Property](#developer-assigns-intellectual-property)

- _Dependencies_ that _Third Party's_ technical representative specifically preapproves in writing, by name and version, for a specific use case

## Determining Dependencies' Licenses

_Blockchain Commons_ may rely on LICENSE, COPYING, and similar files, as well as other copyright notices, header comments, or standardized software package metadata, to determine whether _Dependencies_ meet the requirements of [Dependencies](#dependencies).

## Developer Assigns Intellectual Property

_Blockchain Commons_ assigns all _New Intellectual Property_ to _Third Party_ except for these exemptions:

- _Blockchain Commons_ does not assign any Intellectual Property to _Third Party_ that was previously owned by _Blockchain Commons_.

- _Blockchain Commons_ does not assign any Intellectual Property to _Third Party_ that was part of an expansion to one of _Blockchain Commons_' own repos, even if done as part of this work.

_Blockchain Commons_ assigns the following rights to _Third Party_ that do not encompass the above exemptions:

- ownership of _New Intellectual Property_

- all rights to make legal claims for infringement of _New Intellectual Property_

- all rights to seek legal remedies for infringement of _New Intellectual Property_, such as money damages, injunctions, and other "equitable remedies", as well as any other compensation, benefits, or procedural privileges a court might award

- all other rights _Blockchain Commons_ has in _New Intellectual Property_

## Further Steps

_Blockchain Commons_ will do everything necessary to paper assignments in [Developer Assigns Intellectual Property](#contractor-assigns-intellectual-property), make them legally effective, and help _Third Party_ enforce the rights assigned. _Third Party_ will notify _Blockchain Commons_ by e-mail of any further steps required, provide all necessary documentation, and reimburse _Blockchain Commons_ for reasonable out-of-pocket expenses.

## Third Party Can Act on Blockchain Commons' Behalf

### What Third Party Can Do

_Third Party_ can take action under [Further Steps](#further-steps) on _Blockchain Commons_' behalf if _Third Party_ can't find _Blockchain Commons_, if _Blockchain Commons_ isn't capable of doing so, or if _Blockchain Commons_ refuses to do so.

### Legal Intent

In legal terms of art, _Third Party_ and _Blockchain Commons_ intend [What Third Party Can Do](#what-third-party-can-do) to appoint _Third Party_ as _Blockchain Commons_ "attorney in fact with full right of substitution" to act on _Blockchain Commons_' behalf under [Further Steps](#further-steps).

## Other Intellectual Property

_Blockchain Commons_ licenses _Third Party_ to use anything that _Blockchain Commons_' _Contributions_ use or build on, if _Blockchain Commons_ can make such a license. This license continues forever, cannot be revoked, imposes no royalty or other charge, and allows _Third Party_ to sublicense.

# Working Relationship

## Independence

_Blockchain Commons_ will decide when, where, and how to work under this agreement, with the discretion of an independent contractor. _Blockchain Commons_ will not have any power to enter agreements or take other legal action on _Third Party's_ behalf.

## Personnel

_Blockchain Commons_ will assign _Developers_ to work on this project, as specified in the _Work Order_.

## No Benefits

Neither _Blockchain Commons_ nor any _Developers_ will receive any employee benefits from _Third Party_.

## Compliance

All sides will do their respective parts for tax, labor, employment, and immigration law compliance, consistent with their independent-contractor relationship under this agreement.

## Compliance Indemnity

_Blockchain Commons_ will pay any losses that _Third Party_ pays or becomes legally responsible to pay, including expenses of defending against any legal claim, related to _Blockchain Commons_' failure under [Compliance](#compliance). _Third Party_ will promptly notify _Blockchain Commons_ by e-mail whenever it anticipates possible losses that _Third Party_ might have to pay. If _Third Party_ fails to notify _Blockchain Commons_ promptly, _Blockchain Commons_ will not pay _Third Party_ losses that _Third Party_ could have reduced or defended against if _Third Party_ had notified _Blockchain Commons_ promptly.

# General Contract Terms

## Governing Law

Wyoming law will govern all rights and duties under this agreement.

## No CISG

The United Nations Convention on Contracts for the International Sale of Goods will not apply to this agreement.

## No UCITA

As far as the law allows, the Uniform Computer Information Transactions Act will not apply to this agreement.

## Whole Agreement

Both sides intend the _Work Order_ and these terms as the final, complete, and only expression of their terms about _Blockchain Commons_' work under the _Work Order_.  However, these terms do not replace or invalidate any nondisclosure agreement.

## Assignment

_Blockchain Commons_ cannot assign any right under this agreement without _Third Party_'s prior, written, permission. _Third Party_ can assign this agreement, as a whole, to another business entity that acquires its stock or substantially all its assets, or to a new business entity set up to change its legal form or jurisdiction. Any attempt to assign rights under this agreement against its terms has no legal effect.

## Delegation

Neither side can delegate any duty under this agreement. Any attempt to delegate has no legal effect.

## Unenforceable Terms

If a court decides that any part of this agreement cannot be enforced, for any reason, the rest of this agreement will continue to apply.

## Enforcement

Only _Third Party_ and _Blockchain Commons_ can enforce this agreement.

## Dispute Resolution

In the event of any dispute, controversy, or claim arising out of or relating to this document or the breach, termination, or invalidity thereof, the parties agree to first attempt to resolve the dispute through good faith negotiation. If the dispute cannot be resolved through negotiation, the parties agree to submit the dispute to mediation prior to initiating any court proceedings. The mediation shall be virtual and shall be conducted in English. The costs of the mediation shall be shared equally between the parties, except that each party shall bear the cost of its own counsel, experts, and evidence. If the dispute is not resolved through mediation within 60 days of initiation, either party may then proceed to seek legal remedies as detailed herein for _Lawsuits_.

### Lawsuits

*Lawsuits* means any legal actions or claims related to this agreement, ignoring the historical distinction between actions "in law" and "in equity".

#### Courts

Both sides agree to bring all _Lawsuits_ related to this agreement only in the federal or state courts in Cheyenne, Wyoming.  Both sides consent to the exclusive jurisdiction of those courts, and waive any objection to hearing _Lawsuits_ there.  Both sides can enforce judgments from those courts in other jurisdictions.

#### English Rule

Each side agrees to pay the other side's attorney fees and costs if they lose in court.

## Confidentiality

Either party may specifically identify information shared with the other party as _Confidential Information_ by written notice in advance of or contemporary with the sharing. Each party agrees to hold such _Confidential Information_ in strict confidence and not to disclose it to any third party except as required by this document except by written consent of the other party. It is understood that this document may require the sharing of information with employees and contractors of both companies, particularly including _Developers_.

* **Confidential Information Usage.** The receiving party agrees to use _Confidential Information_ solely for the purpose of executing their obligations under this agreement and not for any other purpose, whether commercial or personal. 
* **Confidential Information Reporting.** The receiving party must notify the disclosing party immediately upon becoming aware of any breach of confidentiality and take all reasonable steps to prevent further unauthorized use or disclosure.

This obligation of confidentiality shall survive the termination or expiry of this agreement and continue indefinitely until such Confidential Information enters the public domain in a way other than by the breach of this clause by the receiving party. 

The usage of _Confidential Information_ shall not impact the _Intellectual Property Expectations_ of this document unless _Confidential Information_ is also specified as a specific, proprietary elements of the _Work Order_ as defined under _Intellectual Property Expectations_, though it may be a reason for the _Third Party_ to delay the release of work under a permissive license for up to a year, as also defined therein.

## Termination

Either party may terminate this agreement at any time without cause by providing 14 days written notice to the other party. 

In the event of termination, both parties agree to provide a final accounting of services rendered and payments made up to the termination date within 7 calendar days of the termination notice in order to clarify the final amounts to be refunded or paid by either party. 

* **Payments Refunded.** Any amounts paid in advance for services not yet performed by the terminating date will be refunded in full within 14 calendar days of the termination notice. 
* **Payments Owed.** Any outstanding amounts owed for services already performed up to the date of termination but not yet paid will become due and payable within 14 calendar days of the termination notice.

# Work Order

This is a **Work Order** under the most recently released version of `Terms Title` published at `Terms Repository`.  **Blockchain Commons** and **Developer** agree:

## Start Date

April 18, 2024

## End Date

August 18, 2024

# Repositories

https://github.com/Foundation-Devices/keyos
https://github.com/Foundation-Devices/envoy
https://github.com/Foundation-Devices/foundation-rs

# Milestones

The precise scope of work is meant to be flexible, to support _Third Party_ goals of developing their Passport Prime hardware wallet and Envoy app in ways that build upon the expertise of _Developers_ while also supporting work on _Blockchain Commons_ standards and and/or general fulfillment of _Blockchain Commons_ goals of Resilience, Privacy, Independence, and/or Openness. Specific milestones may be adjusted through written notice from _Third Party_ provided that they remain within this scope.

Initial milestones are to include:

1. Support to implement the following Blockchain Commons standards on Passport Prime and Envoy app.

* GSTP: Implement Prime-to-Envoy two-way encrypted protocol
* SSKR: Implement Shamir share backups using BC standards on iCloud, NFC cards, and BC Depository server.
* CSR: Stand up a Depository server and help with whatever 2FA mechanism we choose to implement to recover a share.

2. Support to implement the foundation for a backup service for Passport Prime based on BC standards.  These backups can optionally include encrypted flash storage on the Passport Prime, which can be updated anytime as files are added and removed.

# Total Hours

At minimum, 62% of one full-time _Developer_'s work spread relatively evenly over a four-month period, on average at least 25 hours a week, or at least 432 hours total.

# Developers

Wolf McNally (engineering, development, coding)

Shannon Appelcline (technical writing)

Wolf McNally is expected to be the _Developer_ for most or all of the work, unless technical writing is specifically requested as part of the task by _Third Party_.

# Blockchain Commons' Technical Lead

Christopher Allen

# Third Party's Technical Lead

Ken Carpenter

# Fee

$50,000

# Currency

USD

# Blockchain Commons' Payment Instructions

USD should be paid to Blockchain Commons LLC's Mercury account via any preferred method alongside an email to christophera@gmail.com as notification.

Domestic transfer instructions are:

## Beneficiary

Beneficiary Name:
Blockchain Commons LLC

Account Number:
9800779609

Type of Account:
Checking

Beneficiary Address:

7302 Yellowstone Rd,
Cheyenne, WY 82009

## Receiving Bank Details

ABA Routing Number:
084106768

Bank Name:
Evolve Bank & Trust

_Mercury uses Evolve Bank & Trust as a banking partner._

Bank Address:
6000 Poplar Ave, Suite 300
Memphis, TN 38119

_International wire details are available on request_.

# Third Party's Billing Instructions

Bills are to be submitted via email to ken@foundation.xyz and zach@foundation.xyz.
