# Autonomy Owner's Manual
Autonomy is a full-node crypto wallet, a peer-to-peer (P2P) contact list, and a recovery network. Working together, they give you independence, make Bitcoin easy to use, and ensure that you never lose your cryptocurrency. It’s like having a Bitcoin full node in your pocket!
This manual explains both how to use Autonomy and the technical details that underlie the application.
## Setting Up Your Autonomy Profile
When you first log in to Autonomy, you’ll set up an Autonomy profile. Your Autonomy profile contains accounts that connect you to the Bitcoin network and ensures your access to your funds. Setting it up and modifying it is an easy process, managed by the Autonomy app.
> 🔧 **TECHNICAL DETAILS.** 🔧 Autonomy is a crypto wallet built around multi-sig addresses, which means that each Autonomy account is essentially a trio of HD private keys that protect access to all of your addresses, plus some associated metadata including your Contact list, activity history, and other information. When you create an Autonomy account, a virtual machine is also spun up for you in the cloud. It’s a private VM that contains a Bitcoin full node for your personal usage. Autonomy is thus a linked two-part system, containing your wallet and your node.
> 🔓 ***SECURITY DETAILS.*** 🔓 The Autonomy app connects to your private Bitcoin full node via Tor, ensuring anonymity for the service: no one will know that you’re transacting bitcoins. By connecting you to your own full node, Autonomy also frees you from the intermediation and centralization that has beset Bitcoin services such as exchanges and many wallets. You can now transact with the network directly, as Satoshi intended.
### Creating Your Profile for the First Time
Creating an Autonomy profile is a simple process. You'll be asked a few questions and your profile, your first account, your full node, and a subscription will all be set up.
Here are the steps you'll move through:
1. On the Autonomy home page, hit "Start".
2. On the information page, choose to "Continue"
 
3. On the Profile page, choose a name and a picture that will allow friends, family, and businesses to recognize you. Hit "Continue".
 
4. Hit "Continue" on the Notifications page. This will ensure that you receive pop-up messages whenever you receive money.
 
That’s it! One of our goals is making Autonomy easy-to-use for the everyday user, so we’ve ensured that you don’t have to deal with complex Bitcoin tasks such as storing private keys or scribing mnemonic words: instead, your accounts' security is managed by Autonomy itself.
> 🔓 **SECURITY DETAILS.** 🔓 How is Autonomy’s security managed? Obviously, there needs to be a way to recover your funds if you lose your iPhone. This is managed through a special recovery network, as is described in “Setting Up Your Access Recovery Options”.
Your full node is now being built in the cloud. You'll see some messages related to this, and it might take up to five minutes. But in the meantime you can explore Autonomy and start adding Contacts; you just won't be able to transact bitcoins until your full node is built.
 
> 🔧 **TECHNICAL DETAILS.** 🔧 Your full-node setup will go through the following stages: provisioning keys; starting container; launching Bitcoin Core; waiting for RPC endpoints; synchronizing blockchain; and your full node is ready. Because the full node is loaded from a Docker container, much of this setup will go very fast.
Note that your account isn't quite complete yet. In order to make use of Autonomy's secure Recovery Network, you must select a Backup Contact, which requires you to add at least one Contact in the first place. See "Setting Up Your Recovery Network" for more information.
### Changing Your Profile Options
You can change your Profile options by clicking on the circle at the top right of any Autonomy home screen. (It'll contain the picture you added in setup, or otherwise a letter or number.) This will bring you to the Settings page.
The following options are available from Settings:
* **Profile**. This is where you can change your name and photo. Be sure to hit "Save" after making a change. You can also choose to "Sign Out" to log out of your Autonomy Profile. (You can later log back in by restoring access, as described in “Recovering Your Autonomy Account”.)
* **Recovery Network**. This allows you to complete or view your Recovery Network setup. See “Setting Up Your Recovery Network” for more information.
* **Permission**. This allows you to toggle notifications (but we recommend keeping them on, so that you know when you receive payments) and to toggle the sending of anonymized, aggregate usage data to Bitmark (but we recommend keeping that on too, so that we can continue to improve our wallet).
  
The Settings page also contains links to Bitmark’s Terms of Service ("EULA") and Privacy Policy.
## Accessing Your Autonomy Home Screens
Now that you’ve created your Autonomy Profile, you’re ready to use the app. Autonomy has three home screens that are available by clicking the appropriate icons on the tab bar at the bottom of the screen:
* **Account** [pic]. A listing of your assets, and a link to generate an address.
* **Contacts** [pic]. A listing of your Autonomy contacts.
* **Activity** [pic]. A place to see the history of your Autonomy usage.
These screens can be used for major tasks such as: “Funding Your Autonomy Account”, “Examining Your Funds”, “Managing Your Contacts”, and “Sending Bitcoins with Your Autonomy Account”, all of which are described below.
  
There’s also a fourth major screen, the Settings screen, which is available via the circle at the top right. This can be used for tasks such as "Changing Your Account Options" and “Setting Up Your Recovery Network”.
## Funding Your Autonomy Account
In order to fund your Autonomy Account, you will need to receive bitcoins. This is probably the most complex part of the Autonomy setup for a newcomer, because you need to figure out a way to exchange your native currency (e.g., USD) for bitcoins. There are two main ways to do so.
* **Ask a friend to send you bitcoins.** If someone introduced you to Bitcoin, they’re a great source. You will presumably need to negotiate a price for those bitcoins. The easiest way to see the current value of bitcoins is to go to your Account tab.
* Coindesk Bitcoin pricing: https://www.coindesk.com/price/bitcoin
> 🔧 **TECHNICAL DETAILS**. 🔧 Autonomy receives its current pricing information from a SpotBit server. This is a service that collects and averages aggregate data from five different exchanges for any trading pair.
> 🔓 **SECURITY DETAILS**. 🔓 Connections to SpotBit are managed through Tor, meaning that they’re service-anonymous (no one can see that you’re connecting to a Bitcoin-related service).
* **Set up an account with an exchange.** Alternatively, you can register with a Bitcoin exchange. This will require you to provide full identification information to the exchange as part of their Know Your Customer (“KYC”) protocol. Afterward, you will be able to deposit funds from your bank and then send them on to Autonomy.
* Bitcoin.org list of exchanges: https://bitcoin.org/en/exchanges
Either your friend or an exchange will need to know how to send the funds on to you. This can be done in one of two ways: by generating an address (for an exchange or friend) or by asking a Contact (friend only).
### Generating an Address
Bitcoin money is sent to addresses that are associated with your account. They look like long, nonsensical lists of numbers and characters (e.g., “bc1qvjgyg8gcrhjfjms7stwyxjh987gjhcevzgu4ltwzznne0h4ds7uq8frkpg"). Each one uniquely describes a way for you to receive bitcoins at your Autonomy account. Think of them like bank account numbers.
> 🔧 **TECHNICAL DETAILS**. 🔧 Autonomy addresses are 2-of-3 multi-sig addresses.
> 🔓 **SECURITY DETAILS**. 🔓 Autonomy's multi-sig addresses support independence: remain in control of all three keys. They're used not to create consensus between multiple account signers (as with a traditional multi-sig), but instead to maintain security and safety for your personal funds, so that you don't ever lose your money. One key is stored on your phone and one key is stored on your full-node server. Usually, your phone talks to your full-node server, and the two agree to send off your transaction by submitting two of your three signatures. The third key is a recovery key, which is stored as part of the recovery network. If you ever lose your phone (or if something happens to your full node), then the recovery key is used with the surviving key to forward your funds on to a new address.
The most direct way to receive money is to give a sender that address. Autonomy gives you two ways to do so, both available from the Account page.
* **Deposit Bitcoin**. The first time you use Bitcoin, a red "Deposit Bitcoin" box will appear on the Account screen. Use it to send an address to friends via Messages, Mail, or other apps. They can then use that address to send funds to you.
* **Deposit.** Click the arrows to the right of your available balance. This will allow you to "Deposit" or "Withdraw". If you select "Deposit", you'll be able to share your address, exactly as with the "Share Address" button.
> 🔓 **SECURITY DETAILS**. 🔓 Bitcoin experts usually suggest changing your address every time you receive a payment. Autonomy will automatically change your address every time you receive funds.
Once you’ve shared your address with a friend or exchange, they can then send money to your Autonomy Account. If they're using Autonomy, this methodology is described in “Paying to an Address” section of “Sending Bitcoins with Your Autonomy Account”.
### Asking a Contact
Alternatively, you can set someone up as a Contact, as described in "Managing Your Contacts", below, and then you can simply ask them to pay you, as described in the “Paying to a Contact” section of “Sending Bitcoins with Your Autonomy Account”.
## Examining Your Funds
Autonomy offers three different ways to examine the funds that you’ve received.
### Checking Your Balance
Your balance is always available at the top of the main Autonomy screen: just select the Account tab. You will see your balance reported in bitcoins and your native currency, as well as the current value of bitcoins and how that’s changed over time.
### Examining Your Activity
A listing of all of your transactions is available through the Activity page. It will show Contacts you've made and funds you've sent or received. Touch any Activity entry for more information.
 
### Examining a Contact's Activity
There is also an individual listing of Activity for each Contact. Just click on the Contact from the Contacts page.
## Managing Your Contacts
Autonomy transactions are built around Contacts, which are people whose identities you have personally confirmed.
You can create new Contacts by accepting invitations from friends, family, and businesses.
> 🔧 **TECHNICAL DETAILS**. 🔧 Contact info essentially contains a link to the Contact’s virtual Bitcoin full node. Whenever you want to pay the Contact, Autonomy will connect to the node and request an address for payment.
> 🔓 **SECURITY DETAILS**. 🔓 The Contact system is fully peer-to-peer: you're always interacting directly with your Contact, without any intemediary. This is supported by a decentralized identifier (DID) that provides that link to your Contact's private full node.
All Autonomy contacts are symmetrical: when you add someone as a Contact, they’ll add you (and vice versa).
### Sending an Invitation
To send an invitation, go to the Contacts page and click "Invite". You'll then haeve the option to send an invitation by a variety of communication methods.
 
Once your Contact has accepted your invitation, they'll appear on your Contacts tab.
### Receiving an Invitation
When you receive an invitation, it will come in via a messaging system such as SMS or Messenger. If you are not in direct contact with the person you should call them or talk to them in person, to assure yourself that the contact info is theirs.
Afterward just click on the link in their message, and it will automatically create a Contact in Autonomy (and you'll become a Contact for them as well).
### Reviewing Contacts
Your Contacts are visible from the Contacts tab. You will see a listing of all of your Contacts, by their name. Clicking on a Contact will allow you to "Pay" them bitcoins.
## Sending Bitcoins with Your Autonomy Account
Paying with your Autonomy Account is the mirror image of funding it: you can pay a Contact or you can pay to an address.
### Paying to a Contact
You will typically send payments to Contacts. This is done from the Contacts tab. You can either: click "Pay" and then select a Contact; or select a Contact and then click "Pay".
  
Once there, you'll be able to enter an amount to send, either in USD or BTC, as well as a note. You'll be shown the exact cost including transaction fees.
> 🔧 **TECHNICAL DETAILS**. 🔧 A transaction fee is a small amount paid to the "miners" who actually record your transaction on the Bitcoin blockchain.
### Paying to an Address
Though Autonomy is centered around the ease-of-use of making payments to an address book of Contacts, you can also make direct payments to Bitcoin addresses.
To do so:
1. Go to the Account tab.
2. Click the two arrows.
3. Choose "Withdraw"
4. Enter a Bitcoin address to send the coins to, preferably by pasting it in or by clicking the QR Code icon to scan a code.
5. Enter an amount of bitcoins.
6. Click “Withdraw”.
 
> 🔓 **SECURITY DETAILS**. 🔓 You should be much more cautious when paying to an address, as you don’t have assurances that you know who the address belongs to, like you would for a Contact. If you pay to the wrong person, then the money will be gone forever: there are no take-backs in Bitcoin. Whenever you can, first verify that a person is who they say they are, then enter them as a Contact.
### Examining Your Payments
All of your payments are also available on your Activity tab.
## Setting Up Your Recovery Network
Your mobile device is your key to the Bitcoin network. If you ever lose or reset it, you will need to rebuild Autonomy using your recovery key.
### Enabling Your Recovery Network
When you start using Autonomy, your recovery key will be stored in your local keychain. Depending on your setup, this may be backed up to your local computer or the cloud. This is a _minimally resilient_ setup. If you lose your phone, you could lose your funds, as two keys are stored in the same place. It is only considered an interim, and you should immediately set up the full Recovery Network to maintain the safety of your funds; if you haven't done so already, we'll remind you when you deposit funds.
However, before you can enable your recovery network, you must have at least one Contact. See "Managing Your Contacts" for how to create a Contact, or if you prefer, the recovery-network setup will automatically establish your first contact for you.
> 🔓 **SECURITY DETAILS**. 🔓 You may not be able to restore your account if you do not choose a Backup Contact. This means that you need to set it up immediately, to ensure the full functionality of Autonomy's recovery design.
The full Recovery Network setup ensures the resilience of your account by dividing your recovery key into three parts, then allowing you to recover your account using any two of those parts. iCloud and Bitmark constitute your primary Recovery Network, but you also list a Trusted Contact as a fallback, in case there are problems with either your iCloud account or Bitmark.
> 🔧 **TECHNICAL DETAILS**. 🔧 The full Acess Recovery network is built using Shamir’s Secret Sharing. Your recovery key and related metadata is sharded into three parts with a recovery threshold of two.
Completing your Recovery Network simply requires choosing a trusted contact:
1. Go to the Settings page and choose "Recovery Network".
2. Enter your email. This email will be crucial to your recovery, so ensure it's a well-trusted one.
3. Watch your email for a verification code, and enter it.
4. Select a trusted contact as a fallback for your recovery system. This can either be someone who is already a Contact or someone new. Be sure this is someone who you expect to continue using Autonomy, and who understands the responsibility of holding part of your recovery information.
  
5. Wait for your trusted contact to agree to store your recovery information.
6. You'll see a notification and a notice in your Activity tab when your trusted contact has agreed.
 
You Recovery Network is now fully setup. At this point, your recovery key will be divided up and stored in the three locations: in your iCloud storage, at Bitmark, and with your Trusted Contact.
> 🔓 **SECURITY DETAILS**. 🔓 As discussed above, Autonomy’s iCloud storage is protected with end-to-end encryption. Bitmark’s shard is similarly stored in encrypted form for each user. Finally, the Trusted Contact automatically stores their copy of the shard on their virtual server and in their iCloud storage.
### Supporting Recovery Network
Friends may ask you to support their Recovery networks a fallback. You'll see a request in your Activity tab. Choose to "Proceed" and then select either "Accept" or "Decline". If you choose to accept, then you will maintain a portion of their recovery key on your personal server. You may wish to contact them before accepting, just to make sure that the request originated with them.
  
> 🔧 **TECHNICAL DETAILS**. 🔧 When someone asks you to be a Trusted Contact, you will be storing one of the three shards created by Shamir’s Secret Sharing. Any two of them can be used to recover an account. The actual size of the information you’re storing is very small. A BIP-32 seed is just 128 to 512 bits long. You will also store a small amount of metadata, to determine which account the shard is connected to, and how to put it back together.
If a Contact asks you to help them recover their Autonomy account, you will similarly receive an “Accept”/”Decline” request. In this case, you should definitely contact them to ensure that they are in control of their email address and making the request to recover their account.
## Recovering Your Autonomy Account
Autonomy means that you’re in control of your bitcoins and other digital assets. However, that also means that you’re also responsible for recovering your digital assets if you ever lose or reset your mobile device. Fortunately, Autonomy makes it simple and reliable.
If your device is logged into iCloud, the recovery will be largely automated, otherwise you’ll simply need to tell Autonomy to restore an existing account.
### Recovering Recovery with iCloud
You will typically recover your Autonomy account on a new or rebuilt mobile device with a simple three-step process using your primary recovery information:
1. Be sure you are logged on to iCloud.
2. Start Autonomy and choose to "Recover"
3. Enter your registered email address and "Send Verification Code"
4. Watch your email address for a verification code, enter it and "Verify".
  
> 🔓 **SECURITY DETAILS**. 🔓 If you have iCloud access, then you will be using the shards from your iCloud and from Bitmark when you rebuild your account.
At this point you will see Autonomy setting you up with a new full node and sweeping your funds forward: they're moved from your old account to a new one, to ensure that you again have access to a full set of keys.
### Recovering without iCloud
If you have lost access to iCloud, you can still recover your Autonomy account using your fallback information from your Trusted Contact (along with the information stored with Bitmark). Doing so is a four-step process:
1. As with the standard recovery, start Autonomy and choose to "Recover".
2. Enter your email address.
3. Enter the verification code.
4. Wait for your Trusted Contact to verify. We strongly recommend that you reach out to them by phone or in person to confirm that you need assistance — and that beforehand they know to expect this, and to not OK the Recovery Network without it.
[need pics]
[pic1-3: three steps of recovering - email, verification, trusted contact wait-screen]
Here’s what the Distributed Backup looks like from the view of a Trusted Contact:
[need pics]
[pic1: request on Activity page]
[pic2: OK of request]
_If you are a Trusted Contact who has been asked to help a friend or family restore an account, please be sure to contact them directly, in person or via a video call, to be sure that they requested the restoration themselves._
🔓 **SECURITY DETAILS**. 🔓 As noted in the text, in this scenario you are recovering using the shards from Bitmark and from your Trusted Contact.
Autonomy’s Recovery network may seem somewhat involved, but remember that the Trusted Contact is just a Fallback: usually you will recover your information using your iCloud storage and backup. The use of a Trusted Contact as a fallback increases the resilience of the system, and thus the likelihood that you can recover your funds. You can lose access to your primary recovery information, most likely due to the loss of an iCloud account, and still receive your recovery information from the other two sources.
## Unsubscribing from Autonomy
If you decide you don't want to continue your subscription with Autonomy, you can unsubscribe in Apple's Settings app:
1. Touch your name to access the "Apple ID" page
2. Touch Subscriptions
3. Choose Autonomy and "Cancel Subcsription"
If you unsubscribe during your trial period, you will never be charged (unless, of course, you choose to renew your subscription).