npm i @primitivefi/rmm-core


Primitive Replicating Market Maker

Twitter Follow Discord Tests npm version

Core contracts of Primitive RMM protocol.

Bug Bounty

This repository has a $1,000,000 bug bounty through Immunefi. Details are on their website https://immunefi.com/bounty/primitive.


The contract documentation is hosted here: Primitive Docs.


Compile contracts

yarn compile

Run typechain

yarn typechain

Run the tests

yarn test

Run the tests using --parallel flag

yarn test:fast


Running tests using the default yarn test will run it through hardhat, it takes approximately 10 minutes on a good CPU.

The testing environment is unique. Make sure that yarn typechain has been run first, or else there could be typescript compilation issues.

The test:fast script makes use of the parallel tag, which will take up a considerable amount of CPU power. It makes the tests run faster.

In the /test/shared/poolConfigs.ts file is an array of different curve parameters. Each of these pools will go through the entire test suite.

Note: When running tests with parallel, the swap tests will not be logged. If the tests are frozen, it means the swap tests are the last tests to be run.


All audits are located in the audits/ folder.

Jump To