# Technical Architecture

## 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](https://chain.link/) 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](https://www.alchemy.com/) RPCs to access the blockchain
  * Charts and financial information are provided by [TradingView](https://www.tradingview.com/), a popular trading and charting platform. Check out the gold chart or explore [bitcoin](https://www.tradingview.com/symbols/BTCUSD/) chart directly from their website.
  * 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](https://thegraph.com/en/) 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 [partners@bracket.fi ](mailto:partners@bracket.fi)to learn more


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bracket.fi/legacy-products/volatility-trading/technical-architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
