Senior Software Engineer – Solidity/TypeScript

London, UK

We are looking for a software engineer to help us implement XOpts v2. XOpts is a trustless and non-custodial platform for cross-chain BTC options – currently built on top of Ethereum.

Our vision is for XOpts to become the equivalent of Uniswap for options and other derivative products. As a unique feature, we support physical settlement on Bitcoin via our BTC-Relay and hence do not need centralized oracles. XOpts also supports trading of option positions via Uniswap exchange contracts. XOpts v1 is currently live on the Ropsten testnet – v2 is planned to go into live testing by mid-September.

Your task will be to improve the current Solidity smart contracts, TypeScript library, and the documentation to bring the project to mainnet readiness – including extensive unit and integration testing.

Our testing suite is written in TS using mocha/chai. The Ethereum setup is based on buidler. You will need to have an excellent understanding of at least one programming language (e.g. JS/TS/Solidity/Rust/C/C++/Go) and experience with writing production-ready software (incl. E2E testing).

Experience with development in blockchain-based environments and/or distributed systems is strongly encouraged, as you will need a basic understanding of the underlying technology to ensure the security of the system in a decentralized and open environment.

Full-time and preferably based in the UK.

What you will do

  • Implement and test an open-source BTC options product built with Solidity on top of Ethereum (XOpts)
  • Implement and test an open-source TS library that interacts with the smart contracts
  • Enhance our current testing setup with integration and fuzz testing
  • Collaborate with the other team members to ensure that we deliver the software in time and according to the specification
  • Improve the design of the products with respect to costs and security
  • Contribute to other open-source projects that we integrate with

What you bring

  • Experience in creating and deploying production-ready applications in a language such as TS/JS/Solidity/Rust/C/C++/Go
  • Experience with testing strategies and testing frameworks
  • Understanding of distributed/decentralized computing
  • Passion for secure software (specifically in Solidity/EVM)
  • Desire to learn and work with bleeding-edge technology
  • BSc/MSc degree in Computer Science or a related field, or equivalent experience
  • Proficiency in English

“Nice to have”

  • In-depth understanding of Bitcoin (consensus, data structures, security model)
  • Open-source contributions to an Ethereum-based project
  • Prior experience with financial products and financial engineering

Benefits and Perks

  • Stock options
  • Remote working
  • Flexible working hours
  • Yearly retreat