Bracket Labs
Search…
⌃K

Technical Architecture

These are the major components we use in our technical architecture:
  • Smart Contracts:
    • Our solidity smart contracts are owned by a multi-sig wallet, use OpenZeppelin's upgradeable design pattern, and use of OpenZeppelin's Defender to perform the contract administration
    • The on-chain pricing uses Chainlink as our oracle
    • We use both off-line and online automation to automate many tasks, including auto-claiming all contracts at expiry, determining the time of channel breakout for Channel / Epoch, creating/starting Epochs, etc.
    • This will be open sourced at some point after our audits are complete
  • Front End UI:
    • The front end is hosted at AWS and is written in ReactJS
    • It is globally cached at edge servers and made highly available using AWS CloudFront, which also protects it against various types of web DOS attacks
    • We have various AWS uptime monitors running against the front end
    • We use geo-fencing using AWS CloudFront's functionality to restrict production access
    • We check and restrict wallets on the OFAC restricted account lists
    • We use Alchemy RPCs to access the blockchain
    • We use market charts from TradingView
    • This will not be open sourced
  • Front end off-chain Price Indication Server:
    • In order to minimize direct load to get Chainlink prices for the front end, we implemented an off-chain price server on AWS that is accessible via REST web service calls with highly scalable AWS lambda functions as part of the AWS's API Gateway
    • The official pricing is done on-chain via Chainlink's oracles
    • This is not open sourced
  • GraphQL:
    • We use the Graph as our database of on-chain events
    • Our schema and mapping code is not open sourced
  • Partner Integration Services:
    • For our integration partners only, we offer REST API calls hosted on AWS and secured by individual API keys to get supported assets and offers to display
    • Making purchases and claims must be done directly to the smart contract by the integration partner in order to safeguard their private keys.
    • We provide example code to help with this process
    • Please contact us at [email protected] to learn more