Skip to content

BootNodeDev/intents-framework

Folders and files

NameName
Last commit message
Last commit date
Jan 27, 2025
Feb 12, 2025
Jan 21, 2025
Apr 4, 2025
Mar 21, 2025
Feb 18, 2025
Mar 13, 2025
Oct 31, 2024
Oct 25, 2024
Dec 13, 2024
Oct 22, 2024
Feb 18, 2025
Dec 13, 2024
Jan 27, 2025
Mar 13, 2025

Repository files navigation

open intents framework banner

Intents For Everyone, With Everyone
A modular, open-source framework for permissionless, scalable intent execution.

Open Intents Framework

License: MIT

Description

The Open Intents Framework is an open-source framework that provides a full stack of smart contracts, solvers and UI with modular abstractions for settlement to build and deploy intent protocols across EVM chains.

With out-of-the-box ERC-7683 support, the Open Intents Framework standardizes cross-chain transactions and unlocks intents on day 1 for builders in the whole Ethereum ecosystem (and beyond).

Features

  • ERC-7683 Reference Implementation: Standardizes cross-chain intent execution, making transactions more interoperable and predictable across EVM chains.
  • Open-Source Reference Solver: application that provides customizable protocol-independent features—such as indexing, transaction submission, and rebalancing.
  • Composable Smart Contracts: composable framework where developers can mix and match smart contracts, solvers, and settlement layers to fit their use case
  • Ready-to-Use UI: A pre-built, customizable UI template that makes intents accessible to end users.
  • Credibly Neutral: works across different intent-based protocols and settlement mechanisms

Directory Structure

  • solidity/ - Contains the smart contract code written in Solidity.
  • typescript/solvers/ - Houses the TypeScript implementations of the solvers that execute the intents.

Getting Started

Prerequisites

  • Node.js
  • yarn
  • Git

Installation

git clone https://github.com/BootNodeDev/intents-framework.git
cd intents-framework
yarn

Running the Solver

Run the following commands from the root directory (you need docker installed)

docker build -t solver .

Once it finish building the image

docker run -it -e [PRIVATE_KEY=SOME_PK_YOU_OWN | MNEMONIC=SOME_MNEMONIC_YOU_OWN] solver

The solver is run using pm2 inside the docker container so pm2 commands can still be used inside a container with the docker exec command:

# Monitoring CPU/Usage of each process
docker exec -it <container-id> pm2 monit
# Listing managed processes
docker exec -it <container-id> pm2 list
# Get more information about a process
docker exec -it <container-id> pm2 show
# 0sec downtime reload all applications
docker exec -it <container-id> pm2 reload all

Versioning

For the versions available, see the tags on this repository.

Releasing packages to NPM

We use changesets to release to NPM. You can use the release script in package.json to publish.

Currently the only workspace being released as an NPM package is the one in solidity, which contains the contracts and typechain artifacts.

License

This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details.