Press any button to start the menu system. There are only a few features available here since we rely on web browser access to control and setup most functions.
SD Card You should already have a card inserted when you press this. It will scan the card for new firmware and Bitcoin transactions. It will offer to upgrade to the newest firmware file it finds, if any, using the top button. Between 2 and 3 transactions found on the card will be offered for broadcast on the remaining buttons. Simply press the indicated button to broadcast the transaction (via web API of blockstream.info by default).
Network Setup Assist with Wifi Setup. A number of QR codes are shown to assist in this process, but you can use a desktop or laptop as well, by typing the appropriate values. Start on the left, labeled “Step #1” and proceed rightward through the steps.
Power Off This turns off the BLOCKCLOCK mini immediately. Press the indicated button (bottom) to turn back on.
BACK Return to normal operation.
Internal web page: Wifi
Internal web page: Display
Personalization of how the values are displayed is done here.
Screen Update Rate Select between 5 minute and hourly update rates, or synchronize with the Bitcoin blockchain. ‘Manual’ is used when you don’t want the display to change, except by request. (Useful with local push API as well).
Background Color Invert black vs. white.
Label Text (small text along top) Remove the small text along top and bottom of display.
Flash Lights When Changing To get your attention, we can flash lights when the value changes.
Brightness How bright the lights are, if enabled.
Animation Speed How quickly to show values.
Time Format Select 12-hour vs. 24-hour time displays.
Swap Period vs. Comma Swap period and commas in displayed values.
Internal web page: Preferences
Internal web page: Firmware
Old releases and downloadable firmware files are available here.
If you want to push data to your BLOCKCLOCK mini, you should read the API spec here.
Source code for the normal backend (pull) is available on github, but running your own backend server is probably not needed for most use cases.
Connect any Opendime to the USB port on the left side. The display will change to indicated what state the device is in: Factory Fresh, Sealed or Unsealed. A full and complete verification of the Opendime’s bitcoin signatures and authenticity certificate is performed before the QR code is shown. This can take up to 10 seconds. Once that’s done, you can select “Show Balance” on the top button, and the address of the Opendime will be used to look up any UTXO on the blockchain.
Fiat value of the balance will also be displayed. The exchange-rate and specific fiat currency is configurable under Preferences in web interface. The default is USD based on average exchange rate.
If your Opendime is unsealed, an additional menu item is visible: Reveal Private Key When pressed, another QR code is shown, which reveals the private key to be swept to claim the funds on the Opendime.
Fresh Opendimes can be initialized but it is extremely slow and takes 90 seconds or more. We will improve this in future firmware versions, but you may wish to initialize them on a desktop computer.
Litecoin Opendimes can be used but we do not support LTC balance checking at this time.
Your Opendime balance is never sent to our server, however, we do use Blockstream.info to look up balance (UTXO’s) for the Opendime. This reveals your IP address to them, and implies you hold (or held) that specific Opendime. For this reason, the balance is not automatically fetched and you must press the button. All verification of the Opendime is offline and does not interact with the network, until and unless that button is pressed.
You can change the URL used for balance checking to another service, however they must implement the same Explora protocol. Future firmware versions may support more alternatives.
The balance amount is not shared with Coinkite’s backend server, instead the multiplication of exchange rate and BTC quantity is done inside the BLOCKCLOCK.
You can choose to broadcast your signed Bitcoin transactions using the BLOCKCLOCK mini.
For example, the transaction can come directly from the MicroSD Card which the COLDCARD saved the transaction onto when it signed it. This means the signed transaction has never touched your desktop or mobile platform.
Again, Blockstream.info can link your transaction and IP address. You can change the service used to broadcast to another provider on the Preferences page. The URL must accept hex-encoded transactions, and provide a JSON or text response. There are many public endpoints that can do this.
The BLOCKCLOCK mini keeps a connection open to our backend server all the time. No settings or long-term information is stored there, so the privacy impact seems minor. It’s only used to get the values for display, perform searches for tag names and so on. Nothing about your holdings is revealed to us, aside from your great taste in Bitcoin hardware.
If you want to avoid even this disclosure, you can change the URL for the backend server, and/or leave it broken and only use the push API to update the display. If you operate this way, you might want to adjust your DHCP settings so the mini cannot reach outside your local network at all. For firmware updates, you can use SDCard to sneakernet the file.
The source for the back-end server is published on Github and you have the option of operating your own server for you and your friends.
The web interface on this product was not designed for the public Internet. It is meant to used on internal private networks like your home LAN. Do not put it outside the firewall.
There is no proper operating system on this product. It is an ESP32 chip running Micropython as an FreeRTOS task. The networking stack is another FreeRTOS task.