CapitalOne-based Cryptocurrency Exchange

This is a design for an open source, fully automated cryptocurrency exchange.

It uses a CapitalOne bank account to automate the transfer of US Dollars to another customer's CapitalOne bank account after cryptocurrency is recieved or sent.

Actors

  • Bank Account (CapitalOne) - A CapitalOne bank account that we have API access to, allowing us to transfer money to and from customers with a wholly automated application.
  • Exchange - The authority in control of the exchange's own Bank Account.
  • Buyer - The user who wants to trade one currency for another, either Cryptocurrency to USD, or USD to Cryptocurrency.
  • Bounced - When people say that a check has "bounced", they mean that the amount written exceeds the amount of money actually in the buyer's bank account.
  • Pegged Exchange Rate - The cryptocurrency is sold at an arbitrary value that is not tracking current market rates. (e.g. $1000 when the current market price is fluctuating around $960 and $1100)

Systems

  • Exchange Server - The Exchange server performs all communications with the CapitalOne API, and any transfers of cryptocurrency. It also handles user accounts.
  • Client-side App - The Client side app allows the user to enter their information, then conduct sale or purchase actions with the exchange server.

USD to Cryptocurrency

  1. The Exchange offers cryptocurrency for sale at current market rates (obtained from a cryptocurrency price tracker), or a pegged exchange rate.
  2. The Buyer registers an account on the Exchange and adds their bank transfer information and cryptocurrency wallet address.
    • The Buyer then decides to purchase a certain amount of cryptocurrency at the stated rates.
  3. The Buyer initiates the purchase and initiates a transfer of the requested amount of USD from their bank account. The CapitalOne API is used by our app to accomplish this.
    • The bank transfer may take 2-3 days to confirm. We use the CapitalOne API see whether the transfer has either cleared or bounced.
  4. Once the requested amount of USD has been delivered as verified by the CapitalOne API, the Exchange sends the corresponding amount of Cryptocurrency to the Buyer's address.
  5. The buyer receives the cryptocurrency after 3 confirmations. Thus the sale is complete.

Cryptocurrency to USD

  1. The Exchange offers USD for Cryptocurrency exchange at current market rates (obtained from a cryptocurrency price tracker), or a pegged exchange rate.
  2. The Buyer registers an account on the Exchange and adds their bank transfer information.
    • The Buyer then decides to exchange a certain amount of cryptocurrency for USD at the stated rates.
  3. The Buyer initiates the purchase and sends the requested amount of cryptocurrency to our address.
    • The cryptocurrency is sent and the Exchange awaits 3 confirmations.
  4. Once the requested amount of cryptocurrency arrives with 3 confirmations, the Exchange uses the CapitalOne API to transfer the requested amount of USD from our bank account to the Buyer's.
  5. The bank transfer then clears within 2-3 days. Thus the sale is complete.

Built With

Share this project:
×

Updates

deleted deleted posted an update

CapitalOne-based Cryptocurrency Exchange

This is a design for an open source, fully automated cryptocurrency exchange.

It uses a CapitalOne bank account to automate the transfer of US Dollars to another customer's CapitalOne bank account after cryptocurrency is received or sent.

Actors

  • Bank Account (CapitalOne) - A CapitalOne bank account that we have API access to, allowing us to transfer money to and from customers with a wholly automated application.
  • Exchange - The authority in control of the exchange's own Bank Account.
  • Buyer - The user who wants to trade one currency for another, either Cryptocurrency to USD, or USD to Cryptocurrency.
  • Bounced - When people say that a check has "bounced", they mean that the amount written exceeds the amount of money actually in the buyer's bank account.
  • Pegged Exchange Rate - The cryptocurrency is sold at an arbitrary value that is not tracking current market rates. (e.g. $1000 when the current market price is fluctuating around $960 and $1100)

Systems

  • Exchange Server - The Exchange server performs all communications with the CapitalOne API, and any transfers of cryptocurrency. It also handles user accounts.
  • Client-side App - The Client side app allows the user to enter their information, then conduct sale or purchase actions with the exchange server.

USD to Cryptocurrency

  1. The Exchange offers cryptocurrency for sale at current market rates (obtained from a cryptocurrency price tracker), or a pegged exchange rate.
  2. The Buyer registers an account on the Exchange and adds their bank transfer information and cryptocurrency wallet address.
    • The Buyer then decides to purchase a certain amount of cryptocurrency at the stated rates.
  3. The Buyer initiates the purchase and initiates a transfer of the requested amount of USD from their bank account. The CapitalOne API is used by our app to accomplish this.
    • The bank transfer may take 2-3 days to confirm. We use the CapitalOne API see whether the transfer has either cleared or bounced.
  4. Once the requested amount of USD has been delivered as verified by the CapitalOne API, the Exchange sends the corresponding amount of Cryptocurrency to the Buyer's address.
  5. The buyer receives the cryptocurrency after 3 confirmations. Thus the sale is complete.

Cryptocurrency to USD

  1. The Exchange offers USD for Cryptocurrency exchange at current market rates (obtained from a cryptocurrency price tracker), or a pegged exchange rate.
  2. The Buyer registers an account on the Exchange and adds their bank transfer information.
    • The Buyer then decides to exchange a certain amount of cryptocurrency for USD at the stated rates.
  3. The Buyer initiates the purchase and sends the requested amount of cryptocurrency to our address.
    • The cryptocurrency is sent and the Exchange awaits 3 confirmations.
  4. Once the requested amount of cryptocurrency arrives with 3 confirmations, the Exchange uses the CapitalOne API to transfer the requested amount of USD from our bank account to the Buyer's.
  5. The bank transfer then clears within 2-3 days. Thus the sale is complete.

Log in or sign up for Devpost to join the conversation.