This Software is provided as is with all faults, defects and errors, and without warranty of any kind. Free from the CloudCoin Consortium.
CloudBank offers many services:
- Banking Services
- Exchange Services
- Bill Pay
- Application Support
The purpose is to allow software to pown coins. Some examples of use:
You sell products from your website and want to accept CloudCoins as payment.
You want to sell virtule goods in your minecraft server without worrying about charge backs.
You create an accounting system and want to recieve and export CloudCoins.
NOTES: To Stop Replay attacks and other sercurity concenrs, HTTPS.
For receiving CloudCoins, you may only need a few services. The other services may be shut down to reduce the security surface. Services that are neccessary include: Echo, (Deposite or Import One Stack), Get Receipt. The Print Welcome, Show Coins, Expot One Stack services can be shut off if you will collect your CloudCoins from the harddrive of the web server that runs CloudBank.
Note that this fist phaze service uses file-based storage and not a database.
Many services are available:
- Print Welcome
- Echo
- Show Coins
- Deposit One Stack
- Withdraw One Stack
- Get Receipt
- Bill Pay
- Write and Send Check
- Cash Check
There are also standards for how the transactions will go:
- Merchant / Buyer Collaboration
- Buyer Initiated
- Merchant Dominates Note that these are still under development
Config file: The following will be needed in app configurations:
bank_server = https://CloudCoin.co/ (Use the name of the local host)
timezone = UTC-7 (use the customer's timezone)
For security, the system admin must setup SSL and limit the servers that can connect to this web server.
The CloudBank requires a key and will be in the following format
{
"publickey":"bank.CloudCoin.Global",
"privatekey":"6e2b96d6204a4212ae57ab84260e747f",
"email":"[email protected]"
}
Get's the bank's welcome information. Note that the web server must be configured to use extentionless urls.
Sample request
https://bank.cloudcoin.global/service/print_welcome
Response if success:
{
"bank_server": "https://bank.cloudcoin.global",
"status": "welcome",
"version":"4.07.17",
"message": "CloudCoin Bank. Used to Authenticate, Store and Payout CloudCoins.
This Software is provided as is with all faults, defects and errors, and without warranty of any kind.
Free from the CloudCoin Consortium.",
"time": "2016-40-21 10:40:PM"
}
Sample GET Request:
https://bank.cloudcoin.global/service/echo?pk=640322f6d30c45328914b441ac0f4e5b
Echo Response for good
{
"bank_server":"bank.CloudCoin.global",
"status":"ready",
"message":"The RAIDA is ready for counterfeit detection.",
"time":"2016-49-21 7:49:PM"
}
Echo Response for bad
{
"bank_server":"bank.CloudCoin.global",
"status":"fail",
"message":"Not enough RAIDA servers can be contacted to import new coins.",
"time":"2016-49-21 7:49:PM"
}
Not enough RAIDA servers can be contacted to import new coins.
The program must put a stack file in a folder that is accessible via the web to cors on the CloudBank Server. The request is a post request but may include the GET parameter "rn" (receipt number). If the rn parameter is included it must be a GUID without hyphends. The service will then use the customer's rn as the receipt number instead of generating its own.
Sample POST Request:
https://bank.cloudcoin.global/service/deposit_one_stack
stack=
{
"cloudcoin": [
{
"nn":"1",
"sn":"1112240",
"an": ["f5a52ee881daaae548c24a8eaff7176c", "415c2375a6fa48c4661f5af8d7c95541", "73e067b7b47c1556deebdca33f9a09fb", "9b90d265d102a565a702813fa2211f54", "e3e191ca987c8010a3adc49c6fc18417",
"baa7578e207b7cfaa0b8336d7ed4a4f8", "6d8a5c66a589532fe9e5dc3932650cfa", "1170b354e097f2d90132869631409bd3", "b7bc83e8ee7529ff9f874866b901cf15", "a37f6c4af8fbcfbc4d77880fc29ddfbc",
"277668208e9bafd9393aebd36945a2c3", "ef50088c8218afe53ce2ecd655c2c786", "b7bbb01fbe6c3a830a17bd9a842b46c0", "737360e18596d74d784f563ca729aaea", "e054a34f2790fd3353ea26e5d92d9d2f",
"7051afef36dc388e65e982bc853be417", "ea22cbae0394f6c6918691f2e2f2e267", "95d1278f54b5daca5898c62f267b6364", "b98560e11b7142d1addf5b9cf32898da", "e325f615f93ed682c7aadf6b2d77c17a",
"3e8f9d74290fe31d416b90db3a0d2ab1", "c92d1656ded0a4f68e5171c8331e0aea", "7a9cee66544934965bca0c0cb582ba73", "7a55437fa98c1b10d7f47d84f9accdf0", "c3577cced2d428f205355522bc1119b6"],
"ed":"7-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
Sample Response if good:
{
"bank_server":"bank.cloudcoin.global",
"status":"importing",
"message":"The stack file has been imported and detection will begin automatically so long as they are not already in bank. Please check your reciept.",
"reciept":"640322f6d30c45328914b441ac0f4e5b",
"time":"2016-49-21 7:49:PM"
}
Sample Response if bad file bad:
{
"bank_server":"bank.cloudcoin.global",
"status":"error",
"message":"JSON: Your stack file was corrupted. Please check JSON validation.",
"reciept":"640322f6d30c45328914b441ac0f4e5b",
"time":"2016-49-21 7:49:PM"
}
Sample Response if nothing attached :
{
"bank_server":"bank.cloudcoin.global",
"status":"error",
"message":"LoadFile: The stack file was empty.",
"reciept":"640322f6d30c45328914b441ac0f4e5b",
"time":"2016-49-21 7:49:PM"
}
Sample Response if receipt number already in use :
{
"bank_server":"bank.cloudcoin.global",
"status":"error",
"message":"Duplicate: The receipt number is already in use.",
"reciept":"640322f6d30c45328914b441ac0f4e5b",
"time":"2016-49-21 7:49:PM"
}
The get receipt service returns a receipt based on the receipt id.
https://bitshares.CloudCoin.global/bank/get_receipt.aspx?recipt=ef50088c8218afe53ce2ecd655c2c786
If powning process has not been started
{
"receipt_id": "e054a34f2790fd3353ea26e5d92d9d2f",
"time": "2016-49-21 7:49:PM",
"timezone": "UTC-7",
"bank_server": "bank.CloudCoin.Global",
"total_authentic": 5,
"total_fracked": 7,
"total_counterfeit": 1,
"total_lost": 0,
"receipt_detail": [{
"nn.sn": "1.16777216",
"status": "suspect",
"pown": "uuuuuuuuuuuuuuuuuuuuuuuuu",
"note": "Waiting"
},
{
"nn.sn": "1:1425632",
"status": "suspect",
"pown": "uuuuuuuuuuuuuuuuuuuuuuuuu",
"note": "Waiting"
},
{
"nn.sn": "1.956258",
"status": "suspect",
"pown": "uuuuuuuuuuuuuuuuuuuuuuuuu",
"note": "Waiting"
},
{
"nn.sn": "1.15666214",
"status": "suspect",
"pown": "uuuuuuuuuuuuuuuuuuuuuuuuu",
"note": "Waiting"
},
{
"nn.sn": "1.15265894",
"status": "suspect",
"pown": "uuuuuuuuuuuuuuuuuuuuuuuuu",
"note": "Waiting"
}
]
}
If powning process is complete:
{
"receipt_id":"e054a34f2790fd3353ea26e5d92d9d2f",
"time": "2016-49-21 7:49:PM",
"timezone": "UTC-7",
"bank_server": "bank.CloudCoin.Global",
"total_authentic": 5,
"total_fracked": 7,
"total_counterfeit": 1,
"total_lost": 0,
"receipt_detail": [{
"nn.sn": "1.16777216",
"status": "authentic",
"pown": "ppppppppepppppppppppeppp",
"note": "Moved to Bank"
},
{
"nn.sn": "1:1425632",
"status": "counterfeit",
"pown": "fffffffffpfffffffffffffff",
"note": "Sent to trash"
},
{
"nn.sn": "1.956258",
"status": "authentic",
"pown": "ppppppppppppppppppppppppf",
"note": "Moved to Fracked"
},
{
"nn.sn": "1.15666214",
"status": "lost",
"pown": "pfpfpfpfpfpfpfpfpfpfpfpfp",
"note": "Moved to Lost"
},
{
"nn.sn": "1.15265894",
"status": "lost",
"pown": "ppppffpeepfpppfpfffpfffpf",
"note": "STRINGS ATTACHED!"
}
]
}
Gets the totals of CloudCoins in the bank.
Sample POST Request:
https://bank.cloudcoin.global/service/show_coins
pk=baa7578e207b7cfaa0b8336d7ed4a4f8
Sample Response if good:
{
"bank_server":"bank.cloudcoin.global",
"status":"coins_shown",
"ones":205,
"fives":10,
"twentyfives":105,
"hundreds":1050,
"twohundredfifties":98,
"time":"2016-49-21 7:49:PM"
}
Sample Response if fail:
{
"bank_server":"bank.cloudcoin.global",
"status":"fail",
"message":"Private key incorrect"
"time":"2016-49-21 7:49:PM"
}
Sample POST Request:
https://jerry.CloudCoin.co/bank/withdraw_account
tag=PaymentForSample
amount=254
sendby=json
pk=ef50088c8218afe53ce2ecd655c2c786
phase 2 add email option:
https://CloudCoin.co/bank/withdraw_account.aspx
tag=PaymentForSample
amount=254
sendby=email
pk=ef50088c8218afe53ce2ecd655c2c786
phase 2 add url option:
https://CloudCoin.co/bank/withdraw_account.aspx
tag=PaymentForSample
amount=254
sendby=url
pk=ef50088c8218afe53ce2ecd655c2c786
sample response if good
{
"cloudcoin": [
{
"nn":"1",
"sn":"1112240",
"an": ["f5a52ee881daaae548c24a8eaff7176c", "415c2375a6fa48c4661f5af8d7c95541", "73e067b7b47c1556deebdca33f9a09fb", "9b90d265d102a565a702813fa2211f54", "e3e191ca987c8010a3adc49c6fc18417",
"baa7578e207b7cfaa0b8336d7ed4a4f8", "6d8a5c66a589532fe9e5dc3932650cfa", "1170b354e097f2d90132869631409bd3", "b7bc83e8ee7529ff9f874866b901cf15", "a37f6c4af8fbcfbc4d77880fc29ddfbc",
"277668208e9bafd9393aebd36945a2c3", "ef50088c8218afe53ce2ecd655c2c786", "b7bbb01fbe6c3a830a17bd9a842b46c0", "737360e18596d74d784f563ca729aaea", "e054a34f2790fd3353ea26e5d92d9d2f",
"7051afef36dc388e65e982bc853be417", "ea22cbae0394f6c6918691f2e2f2e267", "95d1278f54b5daca5898c62f267b6364", "b98560e11b7142d1addf5b9cf32898da", "e325f615f93ed682c7aadf6b2d77c17a",
"3e8f9d74290fe31d416b90db3a0d2ab1", "c92d1656ded0a4f68e5171c8331e0aea", "7a9cee66544934965bca0c0cb582ba73", "7a55437fa98c1b10d7f47d84f9accdf0", "c3577cced2d428f205355522bc1119b6"],
"ed":"7-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
Sample Response if fail:
{
"bank_server":"bank.cloudcoin.global",
"status":"fail",
"message":"Private key incorrect"
"time":"2016-49-21 7:49:PM"
}
These services allow you to exchange your CloudCoins for other money or even goods and services. Exchange services include:
- Show Coins For Sale
- Place Order using Green.money ach
- Check Green Money order
- Place order using PayPal and Fulfill
- Place order using Stripe and Fulfill
- Fulfil Order with custom text
- Advertsie on Exchange
Gets the totals of CloudCoins in the bank.The price in different currencies, the payment methods that are accepted.
Sample GET Request:
https://bank.cloudcoin.global/service/show_coins_for_sale
Sample Response if good:
{
"exchange_server":"bank.cloudcoin.global",
"status":"coins_for_sale",
"currencies":["dollars","bitcoin"],
"prices":[.03,.0098],
"methods":["green.money","stripe","paypal"]
"ones":205,
"fives":10,
"twentyfives":105,
"hundreds":1050,
"twohundredfifties":98,
"time":"2016-49-21 7:49:PM"
}
Sample Response if fail:
{
"exchange_server":"bank.cloudcoin.global",
"status":"fail",
"message":"No coins for sale"
"time":"2016-49-21 7:49:PM"
}
This allows an order to be placed using the Green.money ACH payment system. Note that you will need an account with Green.money. You will need a web form that posts specific into and a default Green Pay button.
Sample POST Request:
https://bank.cloudcoin.global/service/place_order_with_green_money?
GreenButton_id=11087
Amount=11.43
ItemName=Cloud Ed Pack se
TransactionID=2018.3.28.23.20.b0b7dc
Affiliate=Bill Jenkins
Sample Response if good:
{
"exchange_server":"bank.cloudcoin.global",
"status":"success",
"message":"Green Payment Accepted. Check the URL to collect your CloudCoins",
"green_pay_status_url":"https://bank.cloudcoin.global/service/green_pay_status?id=2018.3.28.23.20.b0b7dc",
"time":"2016-49-21 7:49:PM"
}
Sample Response if fail: NOTE: The programmer should add the error that caused the fail instead of the "Error detail here" text.
{
"exchange_server":"bank.cloudcoin.global",
"status":"fail",
"message":"Invalid Request - Error detail here.",
"time":"2016-49-21 7:49:PM"
}
Allows the user to get a check from the CloudBank if the Green Pay status is paid. The user can click on this over and over until they get a check
Sample POST Request:
https://bank.cloudcoin.global/service/green_pay_status?id=2018.3.28.23.20.b0b7dc
Sample Response if good: NOTE: This is the same response as the Write Check service.
{
"bank_server":"bank.cloudcoin.global",
"status":"url",
"message":"https://bank.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232",
"time":"2016-49-21 7:49:PM"
}
Sample Response if fail: NOTE: The programmer should add the exact reason the customer was not able to recieve a check
{
"exchange_server":"bank.cloudcoin.global",
"status":"fail",
"message":"Your Check has not cleared yet. Please try this URL later.",
"time":"2016-49-21 7:49:PM"
}
This is a task that is called every day. The program checks the Excel spreadsheet to see if bills need to be paid.The Excell spread sheet is a standardized spreadsheet.
FileName: BillPay Sheets within: Reoccurring, Onetime, Pending, Complete, Requested and History (one for each month)
Column Headers:
Used to mark payments that should be paid automatically each month. These records are not deleted. They will be checked everyday and payments assigned to that day of the month will be made and copied to the Pending folder.
- Status: Active or Deactive.
- PAY TO THE ORDER OF ( Payee Name )
- SEND TO EMAIL ( Payee Email )
- ACCOUNT NUMBER OR MEMO
- DAY OF THE MONTH TO PAY ( Day of the month that checks will be sent out )
- AMOUNT (Amount of CloudCoin to be sent )
- SIGNED BY ( Who is sending the CloudCoins )
- YOUR EMAIL ( Senders Email )
- YOUR OTHER CONTACT INFO ( Other information that can be included to for contact )
- DAYS EXPIRES AFTER (Number of days the check will expire after it is written)
The system checks this list once each day. The Bill pay will make the payment and send to pending. Then the payment is deleted from this list)
- Status: Active or Deactive.
- PAY TO THE ORDER OF ( Payee Name )
- SEND TO EMAIL ( Payee Email )
- ACCOUNT NUMBER OR MEMO
- DAY OF THE MONTH TO PAY ( Day of the month that checks will be sent out )
- AMOUNT (Amount of CloudCoin to be sent )
- SIGNED BY ( Who is sending the CloudCoins )
- YOUR EMAIL ( Senders Email )
- YOUR OTHER CONTACT INFO ( Other information that can be included to for contact )
- DAYS EXPIRES AFTER (Number of days the check will expire after it is written)
This holds all checks that have been sent but have not been cashed yet. Once they are cashed, they are deleted from pending and moved to Paid. Payments in pending can be marked Cancel. If they are marked Cancel the money will be put back in the bank. Records will be checked for Cancel once each day. If they are marked as Hold. The check cashing service will not be allowed to give the user money until the status is changed to Pending.
- STATUS (Pending, Hold or Cancel)
- PAY TO THE ORDER OF ( Payee Name )
- SEND TO EMAIL ( Payee Email )
- ACCOUNT NUMBER OR MEMO
- DATE MOVED TO PENDING ( Day that the check was moved to pending )
- AMOUNT (Amount of CloudCoin to be sent )
- SIGNED BY ( Who is sending the CloudCoins )
- YOUR EMAIL ( Senders Email )
- YOUR OTHER CONTACT INFO ( Other information that can be included to for contact )
- DAYS EXPIRES AFTER (Number of days the check will expire after it is written)
- STATUS (Paid, Canceled, Expired)
- PAY TO THE ORDER OF ( Payee Name )
- SEND TO EMAIL ( Payee Email )
- ACCOUNT NUMBER OR MEMO
- DATE MOVED TO PENDING ( Day that the check was moved to pending )
- AMOUNT (Amount of CloudCoin to be sent )
- SIGNED BY ( Who is sending the CloudCoins )
- YOUR EMAIL ( Senders Email )
- YOUR OTHER CONTACT INFO ( Other information that can be included to for contact )
- DATE COMPLETED
Creates a sheet with all the payments from a month and year for historical purposes.
- STATUS (Paid, Canceled, Expired)
- PAY TO THE ORDER OF ( Payee Name )
- SEND TO EMAIL ( Payee Email )
- ACCOUNT NUMBER OR MEMO
- DATE MOVED TO PENDING ( Day that the check was moved to pending )
- AMOUNT (Amount of CloudCoin to be sent )
- SIGNED BY ( Who is sending the CloudCoins )
- YOUR EMAIL ( Senders Email )
- YOUR OTHER CONTACT INFO ( Other information that can be included to for contact )
- DATE COMPLETED
The following actions will take place one or more times each day according to the configuration:
1 Reoccurring: Check to see if a bill is to be paid. If yes, calls on the check making service to write a check. 2 Reoccurring: Creates new check in Pending 3 Reoccurring standard not finished.
1 Checks on the PayOnce to see if there is anything there. If yes, calls on the check making service and deletes the record from Onetime. 2 Creates new check in Pending 3 v standard not finished
- Bill Pay looks at the Pending to see if and are canceled. Put the canceled stack back into bank and deletes from pending.Writes Canceled to Completed worksheet.
- Do not allow checks to be cashed that are canceled or on hold. Pending protocol not finished
- If first of the month, archive all completed from last month into archived sheet with standard naming convention: Archive December 2017 Complete protocol not finished.
- Make a check: Creates a stack file with a GUID and saves it in the Check folder In CloudBank, a Check is a url that point to a stack file that is located in the Check folder.
Gets the totals of CloudCoins in the bank
Sample POST Request:
Parameters:
pk (private key) The user's secret info to allow the person to make the check
action How to send the check: email, url (just show the url), sms (maybe others to be supported later)
amount amount of CloudCoins to put in stac file
checkid (The check's unique identifier
emailto (recievers contact info)
payto (Person who is suppose to get the check)
from (person or organization check is from)
by (Who signed the check)
memo (some account info or memo)
https://ccc.CloudCoin.Global/write_check
pk=a4b5e66f4b51418e81e8dc93e9db6503
action=email
amount=25
checkid=Billy12450
&[email protected]
payto=Billy Jenkins
[email protected]
signby=Sean Worthington
Memo=For Yard Work
Sample Request for URL
https://ccc.CloudCoin.Global/write_check
pk=a4b5e66f4b51418e81e8dc93e9db6503
action=url
amount=25
checkid=Billy12450
[email protected]
payto=Billy Jenkins
[email protected]
signby=Sean Worthington
Memo=For Yard Work
Sample Response if Success for email action:
{
"bank_server":"bank.cloudcoin.global",
"status":"emailed",
"message":"Check sent to [email protected] for 250 CloudCoins",
"time":"2016-49-21 7:49:PM"
}
Sample Response if Success for url action:
{
"bank_server":"bank.cloudcoin.global",
"status":"url",
"message":"https://bank.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232",
"time":"2016-49-21 7:49:PM"
}
Sample Response if Fail:
{
"bank_server":"bank.cloudcoin.global",
"status":"error",
"message":"Not enough funds to write Check for 250 CloudCoins to [email protected]",
"time":"2016-49-21 7:49:PM"
}
Example of a check:
<!-- use html and css to make a form that looks like a standard check
Maybe use background image that is of a check.
-->
<html>
<body>
<h1>Sean H. Wothington</h1>
<address>1445 Heritage Oak Drive, Chico Ca, 95928</address>
<email>[email protected]</email>
<h2>PAYTO THE ORDER OF: Larry's Landscaping</h2>
<h2>AMOUNT: 59 CloudCoins</h2>
<a href="https://Sean.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232">Cash Check Now</a>
</body>
<html>
https://bank.cloudcoin.global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232
Sample link to check graphical representation:
https://bank.cloudcoin.global/checks/c3c3ab7b75ab4d089d2d4a287c1ef232.html
Sample link to cash check:
https://bank.cloudcoin.global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232
- Gathers CloudCoins into a stack and puts the stack file into the "check" folder.
- Emails a link to the check to the payee.
- Writes the Check Id (GUID) to the excel spread sheet.
- Writes the send date to the excel spread sheet.
- Send email: Subject: Check for 2440 CloudCoins Contains link to check:
Allows user to download CloudCoins based on a check number.
- Checks to see if the excel spread sheet has the check on hold.
- Gives the stack file that the users wants to the user.
- Updates the spreadsheet to show the date cashed.
The request includes a receive parameter receive=email receive=sms receive=download receive=json
Sample GET Request for a raw json stack file that can be imported into a program:
https://ccc.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232&receive=json
Sample GET Request for a email stack file that can be sent to a person:
https://ccc.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232&receive=email&[email protected]
Sample GET Request for a json response to be sent to an SMS address:
https://ccc.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232&receive=sms&contact=5305942578
Sample GET Request that downloads a file to a harddrive:
https://ccc.CloudCoin.Global/checks?id=c3c3ab7b75ab4d089d2d4a287c1ef232&receive=download
Sample Response if Success:
IF download is used, the browser Will download a stack file. Make sure your web server's mime type for .stack is set to download.
otherwise:
{
"bank_server":"ccc.CloudCoin.global",
"status":"success",
"message":"CloudCoin stack file sent via email and has been deleted from this server.",
"time":"2016-49-21 7:49:PM"
}
Sample Response if on Hold:
{
"bank_server":"ccc.CloudCoin.global",
"status":"hold",
"message":"The check has been placed on hold status. You will not be able to cash this check until the status has been changed",
"time":"2016-49-21 7:49:PM"
}
Sample Response if it does not exist in the Pending folder:
NOTE: This standard is not finished. We may want to tell them it has already been cashed, if it was canceled and relavant info about the date it was canceled or cashed.
{
"bank_server":"ccc.CloudCoin.global",
"status":"nonexistent",
"message":"The check you requested was not found on the server. It may have been cashed, canceled or you have provided an ind that is incorrect. Did you type the write number?",
"time":"2016-49-21 7:49:PM"
}
Tells the Bank to break a CloudCoin note into several smaller notes. Note that there are many (but a finte) way of making chage for each denomination. Each denomination will have a list (or matrix) of possible breaks with an id for Method for each possible method.
NOTE: This standard is bad and not finished. We must create a way for them to upload a single note in a stack file and then download a stack file with change. This standard in the current form fails to do this.
CHANGE_MAKER REQUEST STRING
https://bank.cloudcoin.global/service/make_change?
method=100D
stack=
{
"cloudcoin": [
{
"nn":"1",
"sn":"1112240",
"an": ["f5a52ee881daaae548c24a8eaff7176c", "415c2375a6fa48c4661f5af8d7c95541", "73e067b7b47c1556deebdca33f9a09fb", "9b90d265d102a565a702813fa2211f54", "e3e191ca987c8010a3adc49c6fc18417",
"baa7578e207b7cfaa0b8336d7ed4a4f8", "6d8a5c66a589532fe9e5dc3932650cfa", "1170b354e097f2d90132869631409bd3", "b7bc83e8ee7529ff9f874866b901cf15", "a37f6c4af8fbcfbc4d77880fc29ddfbc",
"277668208e9bafd9393aebd36945a2c3", "ef50088c8218afe53ce2ecd655c2c786", "b7bbb01fbe6c3a830a17bd9a842b46c0", "737360e18596d74d784f563ca729aaea", "e054a34f2790fd3353ea26e5d92d9d2f",
"7051afef36dc388e65e982bc853be417", "ea22cbae0394f6c6918691f2e2f2e267", "95d1278f54b5daca5898c62f267b6364", "b98560e11b7142d1addf5b9cf32898da", "e325f615f93ed682c7aadf6b2d77c17a",
"3e8f9d74290fe31d416b90db3a0d2ab1", "c92d1656ded0a4f68e5171c8331e0aea", "7a9cee66544934965bca0c0cb582ba73", "7a55437fa98c1b10d7f47d84f9accdf0", "c3577cced2d428f205355522bc1119b6"],
"ed":"7-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
if good:
CHANGE_MAKER RESPONSE STRING
{
"cloudcoin":
[
{
"nn":"1",
"sn":"1373099",
"an": ["c24010825f39c279596743a857fe11ca", "56531ce8de5fde250befd2739708e283", "a5960366fcd76396dffd95841922dc67", "4c7cacfee1fdad425e61eb3b82b8e3ae", "e1109e47ede4f0c0d6072ff94dede9fe",
"ba54a6228b01c1b6ced4737439ab7928", "ff81207f096946d3f1068cd8e00035a5", "8960c63234da374b9eeccdc93c6335cd", "d7c0171807a1b430ebd1b8ea6fa002de", "78c4244ba2506a74ac08a5e18791db23",
"159e963d210a457f43e108ae029f723b", "63032ed515bfdcc6ca9c3add62cb6024", "1ee4eae111f2b822eff492ba32af6048", "9cb6ed1da3db7ea296da40fa59825763", "79daa7da1a2c934e00816dcf9dec32a7",
"920010c6b5490d0a46105c7a88af7e45", "dfed96dd6bfdf66f8d022b011d6e3607", "d4339f821c9b5aae9374225f6a825d0f", "6584be529ac36f399a608c1d3753a885", "7e579263a36d5b77ed07be48a07f7abc",
"13877c03fad969896b7915cfc85a86dd", "4bbe4db9f557832368d2405b8d8e67a0", "12f0116251be8c261259f1ff4eec257e", "188c5bd2a01f3bad73978f904038c8f3", "50cd028d714a8b4cab9b30fa6e97a502"],
"ed":"6-2020",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
,
{
"nn":"1",
"sn":"1373100",
"an": ["547907111f717da1b0c6069ce1fd4041", "e760ab538476344a29ba27cc345a2b3f", "ca2343891a20d05b35bf6d706b60b1ca", "8697127a6f2635e58da9051384d3cce5", "db24d970f26df109efa77f86a2a1fc91",
"40ca4a165e3547fbff456d252534e4e5", "1dcdf80eacffc2059b5e6d9847c16245", "c53a4db06024b5369b56ba7d8574f0f9", "d3d31338158b2680cff747ca4a6ab360", "733214c079648dcc6e117a4f34b63167",
"b89473121a4b1becfc1b7e9613920305", "8f1db113fed1501c05ae504d02a94703", "f9ae3005bb692b54d02f22598e98a228", "f371acef262599d243f9d1c507b2cc14", "539e499edd226942712b36be26b8bf3d",
"d1f396e09194d5b4b5e9b6bb6e80d75a", "22f532f4ef54cbc569e4182b9de433f1", "295979d1680b41f86003e462e810112d", "b57fc449acec879482d2add0e1e9076b", "3fa566f4581239d99b8be80f242f33aa",
"a7f6b60533bc5be9864aac8dd7d4ac9a", "22c37a78a7bcfb362e23d1243e126b8a", "35880ee199bf9c3f34daef52ba49c3f0", "70001f929717a3aea13b775fed3b9dfa", "bbf600f0e2eccabfe13a0779888c97c6"],
"ed":"6-2020",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
,
{
"nn":"1",
"sn":"1373101",
"an": ["629f05f6d54b3b63ed0e9dd28f725735", "1ccf6ab3283a44ada4f6f1c562314e9c", "aabd78818f6eabe812529119d22c0150", "67575dcb350f228115f071d93ef34f44", "d0e75ab70387b5f9190ad2fcb4b9201e",
"4740f6a6aff8376202c119e3bd9abb9b", "e2fa9e4fe4384c58bed9fe2be94eab43", "e8c5c364bc6e7962892352dab2cb59dc", "fa248a74ccd58078178a9d81915e4d61", "a117bc357d521b59e1518ff642ef6c8a",
"877f86a4ac3c477dc47cd15c5ed6f890", "65e69d5eb8cbe4ec1b44f9081ffb2e9c", "09d6d01bbcae34588103deacb0e3cd4e", "6eaf4904cbcebace6655b04d5e8c7510", "70a78fb2121baad1adab7110ab90a603",
"7ab99a31ba7dd1b90e5b62dafb58b0fb", "095ae42f6f529a3b24b287f2e7603aba", "ef1fef9c44b8527f731480b8ff4242de", "6da51c02df0b4799b2902925b06273a3", "f80b13f8956d775880e4adc41ba6c0b9",
"f65d63c5147338932db00c3d06ba6710", "7775bbb934f5b4d76163c95aca4e9b8d", "ab9881583a1e8d5fd7cd701e089b9201", "2a05a81165c04829cac11cb9331fc289", "65dcddd78a8566208dbb2ce386b5629a"],
"ed":"6-2020",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
,
{
"nn":"1",
"sn":"1373102",
"an": ["d38cfc99716fe74e8ac55b5baabde67a", "37efb9c2cea8fae0c83f1d556cabf10c", "248776d1e9e1f6d9fdf8a1d748baaf68", "b76342abbbc28673b3de3a4506c4aaa1", "2b43f87c9b1a94c5e5d6917f489a37ef",
"8e4fb64562a067a81d9dbb21c7111822", "f2a76ab1d51bf9716c09be39aef92d25", "fb96fe546ab1731c111d03a1a0c6612c", "451ee5cfb1a29183e3ba8d203813229c", "0388cf348dcae17347ecd7f035a1a2a8",
"73113babe70369ce8bc2d17e2c919045", "6d823990f4131478105ad97d0810e7d2", "7f2969c5a62e68d20ed8f4625ed64ee0", "edfb4c1d960721b1ed5daeadbe71dd49", "15b652fbc7dba0a7936aaa2a5d19abe4",
"305eddcf75ea5baaea41cd92765e24a3", "29b4c604435f6d2e49f9f4a52b03d23e", "b904d664b1b1836d571ac9502c99de69", "da483c78247b9e360fcf7c617cab39b7", "3060849eca4c2b8a7a596c76ea590238",
"b60da375b030609631c778572e6d4ffc", "b1db6e2a1fb1abc38584160c995a50b0", "c8bc597964034d76b7f298a02d4f14fe", "2ec7596c382ecd693fa595ed371b8921", "e41b286504c76d6f8d9179a818a568c6"],
"ed":"6-2020",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
,
{
"nn":"1",
"sn":"1373103",
"an": ["d513fff400c24a3c9cb54aa75b1e4097", "47d8bff528f036b5484d8e3338024c32", "e8c2991b2fd4390a5366decd8eb1e50a", "3736613d473e797650b944adad4c8ecf", "ba07b460088ad282eb981b9059b8b488",
"a4bc03bb2120bb6550bf17722583d101", "9bdcfe9181f05120d36d1e5829aed61d", "ccdb59e0dcfdd63a3f2ab124ba19388b", "bc774f62625a38cf6f629a9953fd886e", "fd2b87d841536cec85cb1b3ee490f76b",
"c4dde8714b297df584ff1cb57bdd6063", "4b728d06c44438f6fc05596dd34a8cbc", "c635e4b698f2160a95fbd19148c4499f", "571b753f8f3a5686fc8cb9f76f02bdba", "2c2e1f1cf33d90b2ffa29398898dd81a",
"7a9c8c09e671c44ae584a6152ad1c228", "2ab9416ce8ecd604d82283efe57b1bfe", "dea9bd54249b9aac37aaae11f5461a78", "323693b8b72f7b13a9454ff5f712e22b", "b9ba65c66cede3ca34846cba6ab475fb",
"b96f00ecc33cb4082a54b3722e0a3759", "17a1da5874e69e1cc9be6cd59e80b3f3", "c1c402488b8b8d9f3047ee083fb3fa6a", "56d2cf33b824d723888af8a9362244b2", "1d83a153dd5c2055fe9564410a9de088"],
"ed":"6-2020",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
if bad:
{
"server": "www.myBank.com",
"status": "fail",
"nn":"1",
"sn":"5111558",
"message": "CloudCoin note was not broken into smaller units. Coin was counterfeit",
"time": "2016-40-21 10:40:PM"
}
Make Change CHANGE_MAKER METHODS:
Denominaton 1
- 1 (Cannot break)
Denaomination 5
- Method 5A: 1,1,1,1,1
Denomination 25
- Method 25A: 5,5,5,5,5 (Min)
- Method 25B: 5,5,5,5,5A
- Method 25C: 5,5,5A,5A,5A
- Method 25D: 5A,5A,5A,5A (Max)
Denomination 100
- Method 100A: 25,25,25,25 (min)
- Method 100B: 25,25,25,25A
- Method 100C: 25,25,25A,25B
- Method 100D: 25D,25D,25D,25D (Max)
Denomination 250
- Method 250A: 100,100,25,25 (Min)
- Method 250B: 100A,100A,25A,25B
- Method 250C: 100B,100B,25B,25C
- Method 250D: 100D,100D,25D,25D (Max)
Shared secret service allows an application to generate a secret that can be shared amount senders and receivers. This just saves the user from having to think about it. It also allows the application to make a suggestion.
Sample Requests:
https://raida.tech/service/get_shared?type=string&complexity=1&lang=en-us
https://raida.tech/service/get_shared?type=string&complexity=2&lang=ru
https://raida.tech/service/get_shared?type=number&complexity=4
https://raida.tech/service/get_shared?type=string&complexity=20&lang=en-uk
https://raida.tech/service/get_shared?type=guid&complexity=3
GET Variables supplied:
type
The data type. Either String, number or guid (more may be added later) Strings are picked from lists of words, Numbers and guids are generated randomly.
Complexity
For strings, this is the grade level of the word. K-12 or up to all words (20) For numbers this is the number of numberals to be included. 4 will return a number like 3984. 6 will return a number like 381092 For Guids, this will return hexadecimal numbers up to the amount. 3 will return a number like: 4A7. 5 will return a number like 8FF24. Note that GUIDs are not case sensitive.
lang
Used only for strings. Can be any language using a two character code using the HTML ISO Country codes. First two are language and second two are country seperated by a hyphen.
Sample Response if successful:
{
"secret":"ball",
"iso8601":"2018-06-09T14:45:15Z"
}
{
"secret":"splendour",
"iso8601":"2018-06-09T14:45:15Z"
}
{
"secret":"4562",
"iso8601":"2018-06-09T14:45:15Z"
}
{
"secret":"сказать",
"iso8601":"2007-03-01T13:00:00Z"
}
{
"secret":"4AF",
"iso8601":"2018-06-09T14:45:15Z"
}
Secret
This will always be returned as a string. You may need to convert it to a number, or hex if that is what you want.
iso8601: This is the time in Coordinated Universal Time (UTC). The "T" seperates the date from the time. The "Z" is always at the end to show that it is universal. Z is the time designator for zero also called (zulu).
https://www.w3schools.com/TAgs/ref_language_codes.asp
Unlike most services, data is Sent to Trusted Transfer Over Websockets.
Trusted transfer is designed to be a connection-orientated way to send CloudCoins from receiver to sender and allowing a trusted third-party server to authenticate the coins in between.
Type:
- authenticate_and_forward. Checks the coins to see if they are authentic and then sends them to the reciever.
- just_change. Breaks the notes into smaller denominatoins.
- scramble. Exchanges a note for another note of the same denomination (just different serial number)
Internal modes of operation
The transfer can operate under four modes:
- Both parties Anonymous. No one is logged in. (N) N for No trust. (Shared secret must be generated)
- Sender is logged into server, receiver not trusted by Sender. (S) (Receiver can send a request for payment to the sender)
- Receiver logged in, Sender not trusted by Reciever. (R) (Receiver gives sender the public address)
- Both parties logged in. (B) (Receiver can send request for payment with address of sender. No shared secret required because sender can send to public address)
The sender and receiver will need a
{
"type":"authenticate_and_forward"
"shared_secret":"magic",
"trust_model":"n",
"amount": 138,
"payto":"Billy Jenkins",
"sentby"="Sean Worthington",
"fromaccountid":"c3c3ab7b75ab4d089d2d4a287c1ef232",
"toaccountid":"daa1d6676f0ad818589138b6709cefae",
"Memo"="For Yard Work",
"iso8601":"2018-06-09T14:45:15Z",
"cloudcoin": [
{
"nn":"1",
"sn":"14865168",
"an": ["39c054098b135bc31c1fc77c0f8b76bc", "6f3709e7533f9290a370ea53d57d1859", "e308b7bf5f12cb75b5f5bca7e5d2f5c4", "983b364ea602bd2be483664d0a83ba64", "ed510ce2b93980cf701a9514be5403da",
"00e36769f732be5304c09c560b751d30", "f0479dd7e21248c976ac5bdfe489ae4f", "020d3f0a72647f021bbde13c0aeff55c", "054d806b15ea0c002fc07b2d019b9ab6", "4823f53b50b44c52cfba5dafb81db1fb",
"cbe1bdf6971f78d333f828d593adae07", "007ee6f4e390b4551d2bc4bff3358c80", "43d091959de81a73edec5eb897095a16", "396f9f072689357254a91f0c17fd8f45", "ff46b0ed3ca3bb9679214164e035efe6",
"86283df34c4d46ca8b16c456c63f2739", "278aa3025d9c464e99f718cadf3ce3a2", "f05618fe527b0eedc31547361cd0fdbb", "7ff63a99ff813d370dac6742b71342f8", "592ce3e049f651f2763d9b85b95c8a23",
"5c1759904c63aceaf3b4023d494885f4", "264bf535577be1116bd14a7dce5dc3ea", "605ece6240c8892b638ecf50804e368f", "af718e6748598d321cbd276646b1b797", "3909c57b173f545566df124a22789294"],
"ed":"6-2020",
"pown":"ppppppppppppppppppepppppp",
"aoid": []
},
{
"nn":"1",
"sn":"12787478",
"an": ["818042c3595aa6f43c3dfe0242c378d7", "968fbd69c68fb07e663bdf8fcd56fef0", "8a9801667a8f5dce2c04800579c7e374", "4a0a60268c590378652435952c69cd86", "cb060d07e0bb6b249b78235b202ac742",
"da2821f57dd59b779b851723c7e3495e", "daa1d6676f0ad818589138b6709cefae", "57e7a0b946c98879a0bc20a3d7f5db8e", "c3a9599496ed2ccfeecc21f2e12dd259", "7093c88e8c0a8a986a7a575e00933218",
"5db00d5dbb5a1d6f2abc3bcf67e01515", "f0595cd3b62df316d70a17cf3cd96f1b", "bcc497a38df7574a31c48117668bb7f6", "de8c189bab949c9f0d7e77f4c0d090c6", "f5637e15e4a35dfc15d2462155a37dda",
"1697658f59a6d6cd26d19b2a65897e4b", "a2265d79d3499012d1848d807c0a9ed3", "14e300371b7123bbe9400f65930c8806", "65f08b3b571b74685158840e768f7f40", "81c2c15923d0608b02742c37060a1f74",
"18ac8cf467e483ff84ac76cd18f99a29", "d2d5abb8d03749a97d4eb19dbbbd2394", "5cf6112588aff427a95cb8ff9286b635", "ccbefaf705d223eb610eb6f59a7b9c8d", "1ed42144c91178330fc17fa0858609c3"],
"ed":"11-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
Message sent from Trusted Transfer Service to Receiver over websockets
If Authentication is good. Note that the only difference is an added "status"
{
"shared_secret":"magic",
"status":"good",
"trust_model":"n",
"amount": 138,
"payto":"Billy Jenkins",
"sentby"="Sean Worthington",
"fromaccountid":"c3c3ab7b75ab4d089d2d4a287c1ef232",
"toaccountid":"daa1d6676f0ad818589138b6709cefae",
"Memo"="For Yard Work",
"iso8601":"2018-06-09T14:45:15Z",
"cloudcoin": [
{
"nn":"1",
"sn":"14865168",
"an": ["39c054098b135bc31c1fc77c0f8b76bc", "6f3709e7533f9290a370ea53d57d1859", "e308b7bf5f12cb75b5f5bca7e5d2f5c4", "983b364ea602bd2be483664d0a83ba64", "ed510ce2b93980cf701a9514be5403da",
"00e36769f732be5304c09c560b751d30", "f0479dd7e21248c976ac5bdfe489ae4f", "020d3f0a72647f021bbde13c0aeff55c", "054d806b15ea0c002fc07b2d019b9ab6", "4823f53b50b44c52cfba5dafb81db1fb",
"cbe1bdf6971f78d333f828d593adae07", "007ee6f4e390b4551d2bc4bff3358c80", "43d091959de81a73edec5eb897095a16", "396f9f072689357254a91f0c17fd8f45", "ff46b0ed3ca3bb9679214164e035efe6",
"86283df34c4d46ca8b16c456c63f2739", "278aa3025d9c464e99f718cadf3ce3a2", "f05618fe527b0eedc31547361cd0fdbb", "7ff63a99ff813d370dac6742b71342f8", "592ce3e049f651f2763d9b85b95c8a23",
"5c1759904c63aceaf3b4023d494885f4", "264bf535577be1116bd14a7dce5dc3ea", "605ece6240c8892b638ecf50804e368f", "af718e6748598d321cbd276646b1b797", "3909c57b173f545566df124a22789294"],
"ed":"6-2020",
"pown":"ppppppppppppppppppepppppp",
"aoid": []
},
{
"nn":"1",
"sn":"12787478",
"an": ["818042c3595aa6f43c3dfe0242c378d7", "968fbd69c68fb07e663bdf8fcd56fef0", "8a9801667a8f5dce2c04800579c7e374", "4a0a60268c590378652435952c69cd86", "cb060d07e0bb6b249b78235b202ac742",
"da2821f57dd59b779b851723c7e3495e", "daa1d6676f0ad818589138b6709cefae", "57e7a0b946c98879a0bc20a3d7f5db8e", "c3a9599496ed2ccfeecc21f2e12dd259", "7093c88e8c0a8a986a7a575e00933218",
"5db00d5dbb5a1d6f2abc3bcf67e01515", "f0595cd3b62df316d70a17cf3cd96f1b", "bcc497a38df7574a31c48117668bb7f6", "de8c189bab949c9f0d7e77f4c0d090c6", "f5637e15e4a35dfc15d2462155a37dda",
"1697658f59a6d6cd26d19b2a65897e4b", "a2265d79d3499012d1848d807c0a9ed3", "14e300371b7123bbe9400f65930c8806", "65f08b3b571b74685158840e768f7f40", "81c2c15923d0608b02742c37060a1f74",
"18ac8cf467e483ff84ac76cd18f99a29", "d2d5abb8d03749a97d4eb19dbbbd2394", "5cf6112588aff427a95cb8ff9286b635", "ccbefaf705d223eb610eb6f59a7b9c8d", "1ed42144c91178330fc17fa0858609c3"],
"ed":"11-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
if counterfeit coins were sent or some other problem:
{
"shared_secret":"magic",
"status":"fail",
"trust_model":"n",
"amount": 138,
"payto":"Billy Jenkins",
"sentby"="Sean Worthington",
"fromaccountid":"c3c3ab7b75ab4d089d2d4a287c1ef232",
"toaccountid":"daa1d6676f0ad818589138b6709cefae",
"Memo"="For Yard Work",
"iso8601":"2018-06-09T14:45:15Z",
"cloudcoin": []
}
Message sent sender if the payment was sent successfully. Note that an array of CloudCoins may be attached assuming there is change due to the sender.
{
"receipt_id": "e054a34f2790fd3353ea26e5d92d9d2f",
"shared_secret":"magic",
"status":"success",
"trust_model":"n",
"amount": 138,
"payto":"Billy Jenkins",
"sentby"="Sean Worthington",
"fromaccountid":"c3c3ab7b75ab4d089d2d4a287c1ef232",
"toaccountid":"daa1d6676f0ad818589138b6709cefae",
"Memo"="For Yard Work",
"iso8601":"2018-06-09T14:45:15Z",
"bank_server": "bank.CloudCoin.Global",
"total_authentic": 5,
"total_fracked": 7,
"total_counterfeit": 1,
"total_lost": 0,
"receipt_detail": [{
"nn.sn": "1.16777216",
"status": "authentic",
"pown": "ppppppppepppppppppppeppp",
"note": "Moved to Bank"
},
{
"nn.sn": "1:1425632",
"status": "counterfeit",
"pown": "fffffffffpfffffffffffffff",
"note": "Sent to trash"
},
{
"nn.sn": "1.956258",
"status": "authentic",
"pown": "ppppppppppppppppppppppppf",
"note": "Moved to Fracked"
},
{
"nn.sn": "1.15666214",
"status": "lost",
"pown": "pfpfpfpfpfpfpfpfpfpfpfpfp",
"note": "Moved to Lost"
},
{
"nn.sn": "1.15265894",
"status": "lost",
"pown": "ppppffpeepfpppfpfffpfffpf",
"note": "STRINGS ATTACHED!"
}
]
"cloudcoin": [
{
"nn":"1",
"sn":"14865168",
"an": ["39c054098b135bc31c1fc77c0f8b76bc", "6f3709e7533f9290a370ea53d57d1859", "e308b7bf5f12cb75b5f5bca7e5d2f5c4", "983b364ea602bd2be483664d0a83ba64", "ed510ce2b93980cf701a9514be5403da",
"00e36769f732be5304c09c560b751d30", "f0479dd7e21248c976ac5bdfe489ae4f", "020d3f0a72647f021bbde13c0aeff55c", "054d806b15ea0c002fc07b2d019b9ab6", "4823f53b50b44c52cfba5dafb81db1fb",
"cbe1bdf6971f78d333f828d593adae07", "007ee6f4e390b4551d2bc4bff3358c80", "43d091959de81a73edec5eb897095a16", "396f9f072689357254a91f0c17fd8f45", "ff46b0ed3ca3bb9679214164e035efe6",
"86283df34c4d46ca8b16c456c63f2739", "278aa3025d9c464e99f718cadf3ce3a2", "f05618fe527b0eedc31547361cd0fdbb", "7ff63a99ff813d370dac6742b71342f8", "592ce3e049f651f2763d9b85b95c8a23",
"5c1759904c63aceaf3b4023d494885f4", "264bf535577be1116bd14a7dce5dc3ea", "605ece6240c8892b638ecf50804e368f", "af718e6748598d321cbd276646b1b797", "3909c57b173f545566df124a22789294"],
"ed":"6-2020",
"pown":"ppppppppppppppppppepppppp",
"aoid": []
},
{
"nn":"1",
"sn":"12787478",
"an": ["818042c3595aa6f43c3dfe0242c378d7", "968fbd69c68fb07e663bdf8fcd56fef0", "8a9801667a8f5dce2c04800579c7e374", "4a0a60268c590378652435952c69cd86", "cb060d07e0bb6b249b78235b202ac742",
"da2821f57dd59b779b851723c7e3495e", "daa1d6676f0ad818589138b6709cefae", "57e7a0b946c98879a0bc20a3d7f5db8e", "c3a9599496ed2ccfeecc21f2e12dd259", "7093c88e8c0a8a986a7a575e00933218",
"5db00d5dbb5a1d6f2abc3bcf67e01515", "f0595cd3b62df316d70a17cf3cd96f1b", "bcc497a38df7574a31c48117668bb7f6", "de8c189bab949c9f0d7e77f4c0d090c6", "f5637e15e4a35dfc15d2462155a37dda",
"1697658f59a6d6cd26d19b2a65897e4b", "a2265d79d3499012d1848d807c0a9ed3", "14e300371b7123bbe9400f65930c8806", "65f08b3b571b74685158840e768f7f40", "81c2c15923d0608b02742c37060a1f74",
"18ac8cf467e483ff84ac76cd18f99a29", "d2d5abb8d03749a97d4eb19dbbbd2394", "5cf6112588aff427a95cb8ff9286b635", "ccbefaf705d223eb610eb6f59a7b9c8d", "1ed42144c91178330fc17fa0858609c3"],
"ed":"11-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
If the payment failed because of:
- Not enough authentic CloudCoins were included.
- Not enough RAIDA were contacted to complete the transaction
- Receiver did not connect or lost contact. Note that there still may be some change or CloudCoins that were not sent to the receiver being returned.
{
"receipt_id": "e054a34f2790fd3353ea26e5d92d9d2f",
"shared_secret":"magic",
"status":"fail",
"message":"Not enough authentic CloudCoins were included.",
"trust_model":"n",
"amount": 138,
"payto":"Billy Jenkins",
"sentby"="Sean Worthington",
"fromaccountid":"c3c3ab7b75ab4d089d2d4a287c1ef232",
"toaccountid":"daa1d6676f0ad818589138b6709cefae",
"Memo"="For Yard Work",
"iso8601":"2018-06-09T14:45:15Z",
"bank_server": "bank.CloudCoin.Global",
"total_authentic": 5,
"total_fracked": 7,
"total_counterfeit": 1,
"total_lost": 0,
"receipt_detail": [{
"nn.sn": "1.16777216",
"status": "authentic",
"pown": "ppppppppepppppppppppeppp",
"note": "Moved to Bank"
},
{
"nn.sn": "1:1425632",
"status": "counterfeit",
"pown": "fffffffffpfffffffffffffff",
"note": "Sent to trash"
},
{
"nn.sn": "1.956258",
"status": "authentic",
"pown": "ppppppppppppppppppppppppf",
"note": "Moved to Fracked"
},
{
"nn.sn": "1.15666214",
"status": "lost",
"pown": "pfpfpfpfpfpfpfpfpfpfpfpfp",
"note": "Moved to Lost"
},
{
"nn.sn": "1.15265894",
"status": "lost",
"pown": "ppppffpeepfpppfpfffpfffpf",
"note": "STRINGS ATTACHED!"
}
]
"cloudcoin": [
{
"nn":"1",
"sn":"14865168",
"an": ["39c054098b135bc31c1fc77c0f8b76bc", "6f3709e7533f9290a370ea53d57d1859", "e308b7bf5f12cb75b5f5bca7e5d2f5c4", "983b364ea602bd2be483664d0a83ba64", "ed510ce2b93980cf701a9514be5403da",
"00e36769f732be5304c09c560b751d30", "f0479dd7e21248c976ac5bdfe489ae4f", "020d3f0a72647f021bbde13c0aeff55c", "054d806b15ea0c002fc07b2d019b9ab6", "4823f53b50b44c52cfba5dafb81db1fb",
"cbe1bdf6971f78d333f828d593adae07", "007ee6f4e390b4551d2bc4bff3358c80", "43d091959de81a73edec5eb897095a16", "396f9f072689357254a91f0c17fd8f45", "ff46b0ed3ca3bb9679214164e035efe6",
"86283df34c4d46ca8b16c456c63f2739", "278aa3025d9c464e99f718cadf3ce3a2", "f05618fe527b0eedc31547361cd0fdbb", "7ff63a99ff813d370dac6742b71342f8", "592ce3e049f651f2763d9b85b95c8a23",
"5c1759904c63aceaf3b4023d494885f4", "264bf535577be1116bd14a7dce5dc3ea", "605ece6240c8892b638ecf50804e368f", "af718e6748598d321cbd276646b1b797", "3909c57b173f545566df124a22789294"],
"ed":"6-2020",
"pown":"ppppppppppppppppppepppppp",
"aoid": []
},
{
"nn":"1",
"sn":"12787478",
"an": ["818042c3595aa6f43c3dfe0242c378d7", "968fbd69c68fb07e663bdf8fcd56fef0", "8a9801667a8f5dce2c04800579c7e374", "4a0a60268c590378652435952c69cd86", "cb060d07e0bb6b249b78235b202ac742",
"da2821f57dd59b779b851723c7e3495e", "daa1d6676f0ad818589138b6709cefae", "57e7a0b946c98879a0bc20a3d7f5db8e", "c3a9599496ed2ccfeecc21f2e12dd259", "7093c88e8c0a8a986a7a575e00933218",
"5db00d5dbb5a1d6f2abc3bcf67e01515", "f0595cd3b62df316d70a17cf3cd96f1b", "bcc497a38df7574a31c48117668bb7f6", "de8c189bab949c9f0d7e77f4c0d090c6", "f5637e15e4a35dfc15d2462155a37dda",
"1697658f59a6d6cd26d19b2a65897e4b", "a2265d79d3499012d1848d807c0a9ed3", "14e300371b7123bbe9400f65930c8806", "65f08b3b571b74685158840e768f7f40", "81c2c15923d0608b02742c37060a1f74",
"18ac8cf467e483ff84ac76cd18f99a29", "d2d5abb8d03749a97d4eb19dbbbd2394", "5cf6112588aff427a95cb8ff9286b635", "ccbefaf705d223eb610eb6f59a7b9c8d", "1ed42144c91178330fc17fa0858609c3"],
"ed":"11-2019",
"pown":"ppppppppppppppppppppppppp",
"aoid": []
}
]
}
Will transfer money from this bank to another.
Requests payment from another bank
Accepts a request for Payment from another bank
-
Merchant Creates receipt
The Merchant totals the amount due and generates a random receipt number. Then the Merchant creates a URL and gives it to the Buyer.
Sample URL Sent to Buyer from Merchant: https://bank.mydomain.com/pay/deposite?rn=ea22cbae0394f6c6918691f2e2f2e267
-
Buyer Deposites in bank
Buyer Uses URL and attaches stack file: https://bank.mydomain.com/pay/deposite?rn=ea22cbae0394f6c6918691f2e2f2e267
-
Buyer shows Merchant Proof of Purchase
-
Merchant Confirms Purchase with CloudBank.
Sample: https://bank.mydomain.com/pay/get_receipt?rn=ea22cbae0394f6c6918691f2e2f2e267
- Buyer Estimates Receipt
- Buyer Deposites in bank
- Buyer shows Merchant Proof of Purchase
- Merchant Confirms Purchase with CloudBank.
- Merchant Creates receipt
- Buyer give Merchant CloudCoins
- Merchant Deposits CC in CloudBank
- Merchant Confirms Purchase with CloudBank.
ACCOUNT REQUEST STRING
This service will do many things:
- Create an account for a new user including their username, password, email and folders for the user if none exists.
- Change the password (if a new password is provided)
- Change the email address (if a new email address is provided)
- Semd email to user saying that the account has been created.
- Send email to user saying that the password and or email has been changed.
- Send username and password if only the email is sent.
This service also will change the password of an existing account, change the email of a user and send the username and password to the user. This will create a folder names after the account and populate it with the following subfolders:
- Bank
- Broke
- Counterfeit
- Export
- Fracked
- Import
- Imported
- Logs
- Lost
- Suspect
- Templates
- Trash
- Waiting
rules for user account names Your users must have a unique identifier that allows your system to identify the accounts within the CloudBank. We call this unique identifer the "Account ID." This number will become the name of folders within the CloudBank. This folder could be a number (like a customer number) or a GUID or any thing that you use to uniquly identify your users in your system. However, there are some rules: Your Account ID must work as folder names for both Windows and Linux Operating sytems. Account IDs cannot contain any of the following characters:
\ / : * ? " ' < > |
Your CloudBank may treat your Account identifiers as either case sensitive or case insensitive. This depends on if your CloudBank is hosted on a Linux (PHP) or Windows (C#) System.
POST: https://cloudcoin.global/bank/account.php?
uid=e24b3a755916472f8768e4e9992827a0 (recover uid if left off)
pw=74307d8442f54763ba6ffab7fdc9b610 (recover password if left off)
newpw=fbd9bf492bf149aeac3dc2a5bdcc38b2 (option. Change password if include.)
email=[email protected] (recover email if left off)
newmail=[email protected] (optional. Change email if included)
Note: If the account has already been created the API just says success. Response if success:
{
"server": "www.myBank.com",
"status": "added",
"message": "Account was created for user e24b3a755916472f8768e4e9992827a0. Username and Password sent to email provided.",
"time": "2016-40-21 10:40:PM"
}
Response if fail:
{
"server": "www.myBank.com",
"status": "notadded",
"message": "Account was not created for user e24b3a755916472f8768e4e9992827a0.",
"time": "2016-40-21 10:40:PM"
}
Folder Structure
UserAccounID -Bank -Broke -Counterfeit -Export -Fracked -Import -Imported -Logs -Lost -Suspect -Templates -Trash -Waiting
Requests that a CloudCoin note change ownership from one account to another.
CHANGE REQUEST STRING
CHANGE RESPONSE STRING
if success
{
"server": "www.myBank.com",
"status": "change",
"message": "Change Complete",
"time": "2016-40-21 10:40:PM"
}
if fail
{
"server": "www.myBank.com",
"status": "fail",
"message": "Change Failed, No such account",
"time": "2016-40-21 10:40:PM"
}
The Issue Reference service issues a "check" that refers to a real cloudcoin in the bank. The purpose is to allow CloudCoins to circulate amoung the bank customers without having to authenticate with the RAIDA everytime they change hands instead they will authenticate with the bank.
CloudCoin check format:
Any file can store a CloudCoin check because the CloudCoin check is stored in the file name. However, it is best to have a txt (text) file with a .check extension. The text file keep he size of the file small.
Example of a CloudCoin check embedded in a file name:
250.CloudCoin.1.16777216.cb5e46ce270545b39b5efa9d9e199d93.www.myBank.com.2017.05.17.13.45.Any user memo here less
than 155 characters.check
Denomination: For human reading. CloudCoin: Litteral string for human reading SN: Serial Number NN: Network Number AN: Single authenticity number (GUID with no hyphens) Bank Server URL: A DNS name or IP address of an application that can can turn the check into a real CloudCoin Year:Year Month Day Hour Minute Memo: Inside you can place a memo too.
ISSUE_REFERENCE REQUEST STRING
https://cloudcoin.global/bank/issue_reference.php?nn=1&sn=88772322&method=1
ISSUE_REFERENCE RESPONSE STRING
{
"server": "www.myBank.com",
"status": "success",
"name":"250.CloudCoin.1.16777216.cb5e46ce270545b39b5efa9d9e199d93.www.myBank.com",
"message": "CloudCoin note issued as reference.",
"time": "2016-40-21 10:40:PM"
}
if bad:
{
"server": "www.myBank.com",
"status": "fail",
"name":"",
"message": "CloudCoin not found. No reference can be made.",
"time": "2016-40-21 10:40:PM"
}
DEPOSIT_REFERENCE REQUEST STRING
https://cloudcoin.global/bank/deposit_reference.php?an=cb5e46ce270545b39b5efa9d9e199d93
DEPOSIT_REFERENCE RESPONSE STRING
{
"server": "www.myBank.com",
"status": "success",
"name":"250.CloudCoin.1.16777216.cb5e46ce270545b39b5efa9d9e199d93.www.myBank.com",
"message": "CloudCoin note issued as reference.",
"time": "2016-40-21 10:40:PM"
}
if bad:
{
"server": "www.myBank.com",
"status": "fail",
"name":"",
"message": "CloudCoin not found. No reference can be made.",
"time": "2016-40-21 10:40:PM"
}
Detection Response Example If Passed:
{
"server":"www.myBank.com",
"status":"pass",
"sn":"16777216",
"nn":"1",
"message":"Authentic:16777216 is an authentic 1-unit. Your Proposed Authenticity Number is now the new Authenticate Number. Update your file.",
"time":"2016-44-19 7:44:PM"
}
Note that the 1 after the word Authentic: is the serial number of the unit that was tested.
Detection Response Example If failed to authenticate:
{
"server":"www.myBank.com",
"status":"fail",
"sn":"16777216",
"nn":"1",
"message":"Counterfeit: The unit failed to authenticate on this server. You may need to fix it on other servers.",
"time":"20"
}
Allows the bank to recieve a secure message like a check payment
END OF API