getproof bityright API
The getproof bityright API is available at https://getproof.bityright.com/api/v1/ .IT IS IN CONSTRUCTION !!! So It can change anytime.
You can try it out here below.
REQUEST
stamp
It takes a 256 bits hash in hexadecimal as argument.
You will get a JSON to be used with "upgrade".
The upgrade will take between one and two hours to be ready.
Example 1
=========
curl https://getproof.bityright.com/api/v1/stamp/aa1a8c054aaa13f5f3043021c9eafafa0a85e557a4fc309cce97af9aa6152914
http status = 200
JSON returned:
{
"uncompletedProof": [
"push aa1a8c054aaa13f5f3043021c9eafafa0a85e557a4fc309cce97af9aa6152914",
"set hashesGiven",
"append 0000019828fd10fb",
"sha256",
"prepend d690c160ca800c472aadaa511258d7b7cc284df72783885c72410510b30f0fac",
"sha256",
"prepend 90eba569dc2b7c823d3960a8d2e7d0119693ea03b56875bfd8593b196465d330",
"sha256",
"set rootCalculated"
],
"ots": "004f70656e54696d657374616d7073000050726f6f6600bf89e2e884e892940108f31b0ae93887d87ab9ff1333892954bac5c3e07afe7d91f9ae60f5f9f511ab63f0102a69d30ff72664728acddb23260f71e508fff008dfb75a7f144b97f608f010d0086022f1174c0dff8436287cd953d208f120c7e205f5eea28d88774dcf01cb0c64eeb690c448f84f25fea25a12a47d65c06b08f104687d2e5cf0086595264ffc5588370083dfe30d2ef90c8e2e2d68747470733a2f2f616c6963652e6274632e63616c656e6461722e6f70656e74696d657374616d70732e6f7267fff00877ecffaee56eacb708f010fedb60cafd9630173e158f7f99000a9908f1204cfc69b2bb24a0541f487af966e684e5025ca05db7d672338982f41e5b9007dd08f104687d2e5cf008536c00589f90ee7c0083dfe30d2ef90c8e2c2b68747470733a2f2f626f622e6274632e63616c656e6461722e6f70656e74696d657374616d70732e6f7267fff010615afd2c8b082aedca0eeec04ddd995c08f120edd4d311b8cdff23a5c96f9fd26b37eb3156a934e638f71cd04368eb6c1a386b08f020573947e6e5182e02a6cc72b71c54de6f72b2f04bb9eb570d6cc050db203138ce08f020ddb55e6b11e295db23d0f83a21d7e7bc8287774a3de654421b94a9b9e6448a2308f104687d2e5cf0081617485df5334dca0083dfe30d2ef90c8e292868747470733a2f2f66696e6e65792e63616c656e6461722e657465726e69747977616c6c2e636f6df0107ede58ceae379de6cb1fbf4aa7dcd81208f104687d2e5cf00850c0c8649caa08e80083dfe30d2ef90c8e232268747470733a2f2f6274632e63616c656e6461722e636174616c6c6178792e636f6d"
}
Example 2
=========
curl https://getproof.bityright.com/api/v1/stamp/wrong_hash_format
http status = 400
JSON returned:
{
"name": "badParameter"
}
upgrade
After "stamp", you need to use "upgrade".
It takes the JSON given by "stamp" (without the "ots" key) as argument.
The upgrade will take between one and two hours to be ready.
It will be available for a certain time only (like 24 hours).
After that time it won't be possible to upgrade.
But it may still be possible to recover.
Example 1
=========
curl -H 'Content-Type: application/json' -d '{
"uncompletedProof": [
"push aa1a8c054aaa13f5f3043021c9eafafa0a85e557a4fc309cce97af9aa6152914",
"set hashesGiven",
"append 0000019828fd10fb",
"sha256",
"prepend d690c160ca800c472aadaa511258d7b7cc284df72783885c72410510b30f0fac",
"sha256",
"prepend 90eba569dc2b7c823d3960a8d2e7d0119693ea03b56875bfd8593b196465d330",
"sha256",
"set rootCalculated"
]
}' -X POST https://getproof.bityright.com/api/v1/upgrade
Possible output 1
-----------------
http status = 200
JSON returned:
{
"status": "absent",
"message": "It is not in the system."
}
Possible output 2
-----------------
http status = 200
JSON returned:
{
"status": "upgrading",
"message": "You have to upgrade later because it is not yet ready."
}
Possible output 3
-----------------
http status = 200
JSON returned:
{
"status": "ready",
"proof": [
"push aa1a8c054aaa13f5f3043021c9eafafa0a85e557a4fc309cce97af9aa6152914",
"set hashesGiven",
"append 0000019828fd10fb",
"sha256",
"prepend d690c160ca800c472aadaa511258d7b7cc284df72783885c72410510b30f0fac",
"sha256",
"prepend 90eba569dc2b7c823d3960a8d2e7d0119693ea03b56875bfd8593b196465d330",
"sha256",
"append 2a69d30ff72664728acddb23260f71e5",
"sha256",
"append dfb75a7f144b97f6",
"sha256",
"append d0086022f1174c0dff8436287cd953d2",
"sha256",
"prepend c7e205f5eea28d88774dcf01cb0c64eeb690c448f84f25fea25a12a47d65c06b",
"sha256",
"prepend 687d2e5c",
"append 6595264ffc558837",
"sha256",
"append 8deeb8cb089c93b2d0139ecdc2aac4ddba56fefbe91a6d518efc68aaa076eee4",
"sha256",
"append 87997f052ebc79147d6d13467a43c5240288d1edc94e61a0ed4c7a02fe4bd643",
"sha256",
"prepend 12d7e2382e3f6fd7b775d47ccdfcfb38b0b7b7a027bc1a82092239eeb02e4e35",
"sha256",
"append 83fcb83ba77c78109b589a092293bbfb35c526d805924a4d5cd31a7f3b2e98c4",
"sha256",
"append 908170e99cd1d0e4f602519f4ec906dd1f7b5eeee44dbf04e666c9f3e5ec335f",
"sha256",
"prepend 30d728682e1c9e93aceee905ab05ebcb17b2cdca31c0d9fed34f223e71f1e8de",
"sha256",
"append 2221f01ba996fe0be0639703edf970ef5a1e47cc3245e1ac4e8dff8bb3db0804",
"sha256",
"append 2abd5d7d76f69e63b9d762a7c6cff909b48b24587c4264f27e21b809c639ae4b",
"sha256",
"append 806eb4c4a10246bf84a228e46d7c4b0b0d64c65dd9a6d70a6c0a7e80b212a12d",
"sha256",
"prepend 7569ceef71b9451f9e5e8da37fb50324f38a52315dd4b9502c53f7715fb7cc1d",
"sha256",
"prepend e70fc2ba3504b92b50a2616370182dbf212f6440200ce340f690d07f02401ec0",
"sha256",
"append 2bae229faa1c0187671d6bc87aa1cd287ecb99c311b3474a42a278da43caf01e",
"sha256",
"append d3582ed8b575d07d9c534cdbb940d179fa1506e5ef8a5c3665163d7b1c9f586f",
"sha256",
"set OP_RETURNCalculated",
"prepend 0100000001a122fa100b6e0e3e981833fb6d74dceb6f68d74c33543e4283e04d29c88552bc0000000000feffffff02cdcd06000000000016001437599636d41a11cf7ffdd233c7a2a82e2ecffc800000000000000000226a20",
"append aad40d00",
"sha256",
"sha256",
"set txidCalculated --transform toggleEndian",
"set txidGiven --value 0d4b764afe78202d5e1a36c4e3e2ac5fcdf81a54286f29ec4bd6ae69a571abe1",
"prepend 68c5994875065cd54229d2aaed42635f49e06244ada7b871b1fc4078c80177eb",
"sha256",
"sha256",
"prepend 9dd6e2d6491068308f94e0a7dd58bf2239f28ec965c6c6d47d1735b8128017e3",
"sha256",
"sha256",
"append 446541cb0a52005b904aadc3a6b9bf1f752de970cf7475e6f3be758b4976d135",
"sha256",
"sha256",
"prepend d7cb6d7698d5470a9eb0c72957e147a82c1e2ea2bf1968d668f2edd3d6b1ecc4",
"sha256",
"sha256",
"append 18ce88b2ed43ad1e315e1ae05f9444de42ccceb0e960d611acb5996c85244081",
"sha256",
"sha256",
"prepend 0098f917d5e152d8d4aab8d5b10c27b6f03c4d7153bc201acb0e15331853c7e9",
"sha256",
"sha256",
"prepend f6214ddad915b3bee68210eae08a28a0834ae2136d5bb0d04ff20844398b5127",
"sha256",
"sha256",
"prepend 1687f6952f736c773e105d0f98c32bec843ee5bafbaa5cf811a31511fa126256",
"sha256",
"sha256",
"append e9bcb837ede82f8ff75699a4f8ad42d9a2ee9c7cf23fb385626d7eb6de485b88",
"sha256",
"sha256",
"append bbc4e6f0067a2abaf5b12859ea8b37388cbbe573de93c6614a0ca659f7a6dc00",
"sha256",
"sha256",
"append 54c0cd86638457b7cf922a4d610e69ffa933648eb025e7715ad68beff0a0dd84",
"sha256",
"sha256",
"prepend 8e29908373d14bb60208246f7da8f44617640462d5cf8b904cf69ddd86e5465a",
"sha256",
"sha256",
"toggleEndian",
"set merkleRootCalculated",
"set merkleRootGiven --value 971b27e21b7c494cad2280d649413f3f3824c13469ab3b73a46ed98e088ff1b2",
"set blockHeightGiven --value 906411"
]
}
Example 2
=========
curl -H 'Content-Type: application/json' \
-d '{"wrong_input": 1}' \
-X POST https://getproof.bityright.com/api/v1/upgrade
http status = 400
JSON returned:
{
"name": "error"
}
check
It takes a proof as argument.
It check if it linked to bitcoin.
If it is linked, it give the timestamp of the bitcoin block it is linked to.
Example 1
=========
curl -H 'Content-Type: application/json' -d '{
"wrong_input": 1
}' -X POST https://getproof.bityright.com/api/v1/check
http status = 400
JSON returned:
{
"name": "error"
}
Example 2
=========
curl -H 'Content-Type: application/json' -d '[
"push aa1a8c054aaa13f5f3043021c9eafafa0a85e557a4fc309cce97af9aa6152914",
"set hashesGiven",
"append 0000019828fd10fb",
"sha256",
"prepend d690c160ca800c472aadaa511258d7b7cc284df72783885c72410510b30f0fac",
"sha256",
"prepend 90eba569dc2b7c823d3960a8d2e7d0119693ea03b56875bfd8593b196465d330",
"sha256",
"append 2a69d30ff72664728acddb23260f71e5",
"sha256",
"append dfb75a7f144b97f6",
"sha256",
"append d0086022f1174c0dff8436287cd953d2",
"sha256",
"prepend c7e205f5eea28d88774dcf01cb0c64eeb690c448f84f25fea25a12a47d65c06b",
"sha256",
"prepend 687d2e5c",
"append 6595264ffc558837",
"sha256",
"append 8deeb8cb089c93b2d0139ecdc2aac4ddba56fefbe91a6d518efc68aaa076eee4",
"sha256",
"append 87997f052ebc79147d6d13467a43c5240288d1edc94e61a0ed4c7a02fe4bd643",
"sha256",
"prepend 12d7e2382e3f6fd7b775d47ccdfcfb38b0b7b7a027bc1a82092239eeb02e4e35",
"sha256",
"append 83fcb83ba77c78109b589a092293bbfb35c526d805924a4d5cd31a7f3b2e98c4",
"sha256",
"append 908170e99cd1d0e4f602519f4ec906dd1f7b5eeee44dbf04e666c9f3e5ec335f",
"sha256",
"prepend 30d728682e1c9e93aceee905ab05ebcb17b2cdca31c0d9fed34f223e71f1e8de",
"sha256",
"append 2221f01ba996fe0be0639703edf970ef5a1e47cc3245e1ac4e8dff8bb3db0804",
"sha256",
"append 2abd5d7d76f69e63b9d762a7c6cff909b48b24587c4264f27e21b809c639ae4b",
"sha256",
"append 806eb4c4a10246bf84a228e46d7c4b0b0d64c65dd9a6d70a6c0a7e80b212a12d",
"sha256",
"prepend 7569ceef71b9451f9e5e8da37fb50324f38a52315dd4b9502c53f7715fb7cc1d",
"sha256",
"prepend e70fc2ba3504b92b50a2616370182dbf212f6440200ce340f690d07f02401ec0",
"sha256",
"append 2bae229faa1c0187671d6bc87aa1cd287ecb99c311b3474a42a278da43caf01e",
"sha256",
"append d3582ed8b575d07d9c534cdbb940d179fa1506e5ef8a5c3665163d7b1c9f586f",
"sha256",
"set OP_RETURNCalculated",
"prepend 0100000001a122fa100b6e0e3e981833fb6d74dceb6f68d74c33543e4283e04d29c88552bc0000000000feffffff02cdcd06000000000016001437599636d41a11cf7ffdd233c7a2a82e2ecffc800000000000000000226a20",
"append aad40d00",
"sha256",
"sha256",
"set txidCalculated --filter toggleEndian",
"set txidGiven --value 0d4b764afe78202d5e1a36c4e3e2ac5fcdf81a54286f29ec4bd6ae69a571abe1",
"prepend 68c5994875065cd54229d2aaed42635f49e06244ada7b871b1fc4078c80177eb",
"sha256",
"sha256",
"prepend 9dd6e2d6491068308f94e0a7dd58bf2239f28ec965c6c6d47d1735b8128017e3",
"sha256",
"sha256",
"append 446541cb0a52005b904aadc3a6b9bf1f752de970cf7475e6f3be758b4976d135",
"sha256",
"sha256",
"prepend d7cb6d7698d5470a9eb0c72957e147a82c1e2ea2bf1968d668f2edd3d6b1ecc4",
"sha256",
"sha256",
"append 18ce88b2ed43ad1e315e1ae05f9444de42ccceb0e960d611acb5996c85244081",
"sha256",
"sha256",
"prepend 0098f917d5e152d8d4aab8d5b10c27b6f03c4d7153bc201acb0e15331853c7e9",
"sha256",
"sha256",
"prepend f6214ddad915b3bee68210eae08a28a0834ae2136d5bb0d04ff20844398b5127",
"sha256",
"sha256",
"prepend 1687f6952f736c773e105d0f98c32bec843ee5bafbaa5cf811a31511fa126256",
"sha256",
"sha256",
"append e9bcb837ede82f8ff75699a4f8ad42d9a2ee9c7cf23fb385626d7eb6de485b88",
"sha256",
"sha256",
"append bbc4e6f0067a2abaf5b12859ea8b37388cbbe573de93c6614a0ca659f7a6dc00",
"sha256",
"sha256",
"append 54c0cd86638457b7cf922a4d610e69ffa933648eb025e7715ad68beff0a0dd84",
"sha256",
"sha256",
"prepend 8e29908373d14bb60208246f7da8f44617640462d5cf8b904cf69ddd86e5465a",
"sha256",
"sha256",
"toggleEndian",
"set merkleRootCalculated",
"set merkleRootGiven --value 971b27e21b7c494cad2280d649413f3f3824c13469ab3b73a46ed98e088ff1b2",
"set blockHeightGiven --value 906411"
]' -X POST https://getproof.bityright.com/api/v1/check
http status = 200
JSON returned:
{
"isLinkedToBitcoin": true,
"bitcoinTimestamp": 1753037775
}
Example 3
=========
curl -H 'Content-Type: application/json' -d '[
"push ba1a8c054aaa13f5f3043021c9eafafa0a85e557a4fc309cce97af9aa6152914",
"set hashesGiven",
"append 0000019828fd10fb",
"sha256",
"prepend d690c160ca800c472aadaa511258d7b7cc284df72783885c72410510b30f0fac",
"sha256",
"prepend 90eba569dc2b7c823d3960a8d2e7d0119693ea03b56875bfd8593b196465d330",
"sha256",
"append 2a69d30ff72664728acddb23260f71e5",
"sha256",
"append dfb75a7f144b97f6",
"sha256",
"append d0086022f1174c0dff8436287cd953d2",
"sha256",
"prepend c7e205f5eea28d88774dcf01cb0c64eeb690c448f84f25fea25a12a47d65c06b",
"sha256",
"prepend 687d2e5c",
"append 6595264ffc558837",
"sha256",
"append 8deeb8cb089c93b2d0139ecdc2aac4ddba56fefbe91a6d518efc68aaa076eee4",
"sha256",
"append 87997f052ebc79147d6d13467a43c5240288d1edc94e61a0ed4c7a02fe4bd643",
"sha256",
"prepend 12d7e2382e3f6fd7b775d47ccdfcfb38b0b7b7a027bc1a82092239eeb02e4e35",
"sha256",
"append 83fcb83ba77c78109b589a092293bbfb35c526d805924a4d5cd31a7f3b2e98c4",
"sha256",
"append 908170e99cd1d0e4f602519f4ec906dd1f7b5eeee44dbf04e666c9f3e5ec335f",
"sha256",
"prepend 30d728682e1c9e93aceee905ab05ebcb17b2cdca31c0d9fed34f223e71f1e8de",
"sha256",
"append 2221f01ba996fe0be0639703edf970ef5a1e47cc3245e1ac4e8dff8bb3db0804",
"sha256",
"append 2abd5d7d76f69e63b9d762a7c6cff909b48b24587c4264f27e21b809c639ae4b",
"sha256",
"append 806eb4c4a10246bf84a228e46d7c4b0b0d64c65dd9a6d70a6c0a7e80b212a12d",
"sha256",
"prepend 7569ceef71b9451f9e5e8da37fb50324f38a52315dd4b9502c53f7715fb7cc1d",
"sha256",
"prepend e70fc2ba3504b92b50a2616370182dbf212f6440200ce340f690d07f02401ec0",
"sha256",
"append 2bae229faa1c0187671d6bc87aa1cd287ecb99c311b3474a42a278da43caf01e",
"sha256",
"append d3582ed8b575d07d9c534cdbb940d179fa1506e5ef8a5c3665163d7b1c9f586f",
"sha256",
"set OP_RETURNCalculated",
"prepend 0100000001a122fa100b6e0e3e981833fb6d74dceb6f68d74c33543e4283e04d29c88552bc0000000000feffffff02cdcd06000000000016001437599636d41a11cf7ffdd233c7a2a82e2ecffc800000000000000000226a20",
"append aad40d00",
"sha256",
"sha256",
"set txidCalculated --filter toggleEndian",
"set txidGiven --value 0d4b764afe78202d5e1a36c4e3e2ac5fcdf81a54286f29ec4bd6ae69a571abe1",
"prepend 68c5994875065cd54229d2aaed42635f49e06244ada7b871b1fc4078c80177eb",
"sha256",
"sha256",
"prepend 9dd6e2d6491068308f94e0a7dd58bf2239f28ec965c6c6d47d1735b8128017e3",
"sha256",
"sha256",
"append 446541cb0a52005b904aadc3a6b9bf1f752de970cf7475e6f3be758b4976d135",
"sha256",
"sha256",
"prepend d7cb6d7698d5470a9eb0c72957e147a82c1e2ea2bf1968d668f2edd3d6b1ecc4",
"sha256",
"sha256",
"append 18ce88b2ed43ad1e315e1ae05f9444de42ccceb0e960d611acb5996c85244081",
"sha256",
"sha256",
"prepend 0098f917d5e152d8d4aab8d5b10c27b6f03c4d7153bc201acb0e15331853c7e9",
"sha256",
"sha256",
"prepend f6214ddad915b3bee68210eae08a28a0834ae2136d5bb0d04ff20844398b5127",
"sha256",
"sha256",
"prepend 1687f6952f736c773e105d0f98c32bec843ee5bafbaa5cf811a31511fa126256",
"sha256",
"sha256",
"append e9bcb837ede82f8ff75699a4f8ad42d9a2ee9c7cf23fb385626d7eb6de485b88",
"sha256",
"sha256",
"append bbc4e6f0067a2abaf5b12859ea8b37388cbbe573de93c6614a0ca659f7a6dc00",
"sha256",
"sha256",
"append 54c0cd86638457b7cf922a4d610e69ffa933648eb025e7715ad68beff0a0dd84",
"sha256",
"sha256",
"prepend 8e29908373d14bb60208246f7da8f44617640462d5cf8b904cf69ddd86e5465a",
"sha256",
"sha256",
"toggleEndian",
"set merkleRootCalculated",
"set merkleRootGiven --value 971b27e21b7c494cad2280d649413f3f3824c13469ab3b73a46ed98e088ff1b2",
"set blockHeightGiven --value 906411"
]' -X POST https://getproof.bityright.com/api/v1/check
http status = 200
JSON returned:
{
"isLinkedToBitcoin": false
}
RATE LIMITER
There is a rate limiter.
The "message" can vary because the numbers can vary.
When you break it, you will get an http status of 429 and a JSON:
{
"name": "tooManyRequests",
"message": "You can only do 1 requests per 5 seconds with this IP."
}