Skip to main content

Solver Integration

Anyone can be a solver with Composable, though permission from Composable is required in initial phases. Solvers are offchain nodes with an on Composable chain wallet. Solvers monitor several chains, run algorithms to find the best solution for intention, and send solution proposals to the Composable chain.

To be a solver, one must make an address on Composable’s Cosmos chain. Addresses can be owned by contract or a person’s machine/bot.

Solver nodes will run well on a machine with 2 Core CPU, 4 GB RAM, and 1 GB high low latency internet connection with Linux x86_64 installed.

Interested in participating as a solver? Join our solver channel here.

Solvers are able to onboard with MANTIS via the following steps:

Solver Setup


  1. A Cosmos compatible wallet holding PICA tokens on a valid Composable/Centauri chain address (Ex. Address format: centauri124l2ly8rgm4wjqgs50zzkzznxvqvve27uf6jr5)

  2. Clone the MANTIS repository and cargo to build mantis-node. As an alternative, you can use nix run "github:ComposableFi/cvm#mantis-node --

  3. An example of command line parameters used to run the solver can be found here (Note: the --simulate flag is optional)

An example of problem formatting that will be broadcast to solvers may be found here.

Additional information for troubleshooting can be found on our Github here.

Trading Venues and Tokens for Testing

For the scope of testing, trading will be limited to Osmosis DEX and Astroport across the pairs outlined below.


Problems will be broadcasted in sizes ranging across $1, $5, $10 and $100.

Rewards and Incentives

Solvers participating in testnet will be awarded an incentive of $500 of PICA in addition to rewards calculated via activity during testing. The reward calculation for activity will be allocated as a percentage of funds processed through MANTIS (ie. funds exchanged via solutions to the intents that are broadcasted during testing).

A scoring system has been implemented to rank solutions submitted via MANTIS based on a reference score and quality of solution, where rewards = observedQuality - referenceScore. The breakdown of this reward calculation may be referred to in the “Solver Rewards” section here.