Overview

Welcome To Brink!

Brink is a protocol that allows for advanced conditional automation of orders and other transactions on Ethereum and EVM compatible chains.

How Brink Works

Brink allows account owners to sign orders that contain conditional execution parameters. These signed orders permit certain assets in the owner's account to be securely manipulated on-chain by executors, but only when the conditions of the order are able to be met.

A very simple example is a signed limit order where a Brink account owner permits 1 ETH to be moved from their account in exchange for no less than 5,000 DAI. An executor can use the signed order to execute a transaction that transfers 1 ETH from the account to any address. If they are able to satisfy the required condition of transferring 5,000 DAI to the account within the same transaction, the order will succeed.

Creating a signed order on Brink costs no gas. Order cost is always deferred until execution. Fees are taken out of the assets involved in the order, and provide executors with a profitable incentive to execute orders.

Brink Accounts

At the core of the Brink protocol is a smart contract account that allows for public transaction execution when valid signed EIP-712 messages are provided. The canonical Account.sol contract contains the logic to support all account actions. Individually owned accounts are lightweight proxy contracts with unique addresses that delegate calls to the canonical Account contract.

Automated Orders

Brink is an un-opinionated and open protocol that can support any number of Automated Order Types. Some examples of automated order types that can be built on Brink are limit orders, stop-loss orders, automatic swaps (token cost averaging), auto-compounding of staking rewards, limit/stop-losses for LP tokens, and many more.

The parameters and required conditions of an automated order type are defined by a Smart Contract Verifier function. The Brink team has provided some simple verifiers that can be found in https://github.com/brinktrade/brink-verifiers. Any solidity developer can design and deploy new verifiers that support many different types of automation.

As with any open protocol, the security of verifiers cannot be guaranteed! Use the same precautions when signing orders against verifiers that you would use when interacting with any smart contract. Signing an order to a malicious verifier can result in total account loss.

Last updated