{"id":21470548,"url":"https://github.com/manifoldfinance/overview-docs","last_synced_at":"2026-01-27T18:41:02.520Z","repository":{"id":43859951,"uuid":"446278874","full_name":"manifoldfinance/overview-docs","owner":"manifoldfinance","description":"Engineering Specification and Documentation for Integrating OpenMEV + resources, etc","archived":false,"fork":false,"pushed_at":"2022-05-09T17:17:30.000Z","size":4143,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-19T00:36:45.123Z","etag":null,"topics":["docs","documentation","sdk"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manifoldfinance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-10T04:22:38.000Z","updated_at":"2023-05-10T06:32:23.000Z","dependencies_parsed_at":"2022-08-25T22:50:46.879Z","dependency_job_id":null,"html_url":"https://github.com/manifoldfinance/overview-docs","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifoldfinance%2Foverview-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifoldfinance%2Foverview-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifoldfinance%2Foverview-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifoldfinance%2Foverview-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manifoldfinance","download_url":"https://codeload.github.com/manifoldfinance/overview-docs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226027923,"owners_count":17562134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docs","documentation","sdk"],"created_at":"2024-11-23T09:28:12.655Z","updated_at":"2026-01-27T18:40:57.482Z","avatar_url":"https://github.com/manifoldfinance.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Manifold Finance - Platform Overview\n\n\n---\n\n\u003e Documentation for Integration Partners, Application Partners, End Users and Searchers\n\n\u003e [status page](https://status.manifoldfinance.com/)\n\n\u003e v2022.01.11\n\u003e v2022.02.10\n\n\n## Table of Contents\n\n- [📚 Summary](#---summary)\n- [✅ Overview](#--overview)\n- [Comparison](#comparison)\n- [SushiRelay.com - OpenMEV for SushiSwap](#sushirelaycom---openmev-for-sushiswap)\n  * [app.sushi.com](https://app.sushi.com)](#appsushicom--https---appsushicom-)\n- [📐 Sushi Relay API Reference](#---sushi-relay-api-reference)\n- [Response RPC Methods](#response-rpc-methods)\n- [Supported RPC](#supported-rpc)\n  * [OpenMEV](#openmev)\n    + [RPC Endpoints](#rpc-endpoints)\n      - [HTTPS](#https)\n  * [WebSocket](#websocket)\n    + [Staging](#staging)\n    + [Production](#production)\n    + [Example: Websocket usage](#example--websocket-usage)\n- [🧰 Specification](#---specification)\n  * [Dashboard](#dashboard)\n      - [Grafana - 1](#grafana---1)\n      - [Grafana - 2](#grafana---2)\n  * [Design goals](#design-goals)\n  * [Architecture Goals](#architecture-goals)\n    + [Redundant resources (trade cost)](#redundant-resources--trade-cost-)\n    + [Degraded results (trade quality)](#degraded-results--trade-quality-)\n    + [Retry transient failures (trade latency)](#retry-transient-failures--trade-latency-)\n- [📐 Technical Integration / SDK](#---technical-integration---sdk)\n  * [New Features for SDK](#new-features-for-sdk)\n\n\n## 📚 Summary\n\n\u003e OpenMEV is a (permission-based) RPC network layer connected to MEV-enabled block producer pools. By having a private connection we can enable protocols and dapps a consistent protection against MEV (maximal extracted value). MEV is a category of transactions that include 'sandwich trades, front running, back running, arbitrage, etc'. Additional services can be built and offered, such as 'Pay for Order Flow', 'Account Abstraction (Buterin, EIP 4337), Carrier Transactions, etc. By privatizing user transaction flow we can enable the recapture of arbitrage/slippage back to the originating user trade.\n\n## ✅ Overview\n\n\n\n**[docs.openmev.org](https://docs.openmev.org)**\n\n## Comparison\n\n[see docs.openmev.org/compare](https://docs.openmev.org/compare)\n\n\u003e Note, we are in the process of overhauling our documentation process - please only refer to docs.openmev.org, docs.sushirelay.com or this repo\n\n## SushiRelay.com - OpenMEV for SushiSwap\n\n[see the available RPC methods](https://docs.sushirelay.com)\n\n### app.sushi.com](https://app.sushi.com)\n\nOpenMEV/Sushi Relay is live on app.sushi.com - to see the frontend integration you can see this feature branch\n[ntegration branch on the sushiswap frontend](https://github.com/manifoldfinance/sushiswap-interface/tree/feat/openmev-relay)\n\n\n## 📐 Sushi Relay API Reference\n\n\n\u003e v0.0.1 RPC and API Overview \n\n\n## Response RPC Methods\n\nThese are methods we support for which we return static responses to ensure compliance \n\n| rpc_method          | description                                         |\n|---------------------|-----------------------------------------------------|\n| eth_chainId         | chain id                                            |\n| eth_protocolVersion | Current Ethereum protocol version in string format. |\n| eth_mining          |                                                     |\n| eth_hashrate        |                                                     |\n| eth_accounts        |                                                     |\n| eth_syncing         |                                                     |\n| eth_coinbase        |                                                     |\n| net_listening       | (Boolean) true when listening, otherwise false.     |\n| net_peerCount       |                                                     |\n| net_version         |                                                     |\n| web3_clientVersion  |                                                     |\n \n## Supported RPC\n\nThese are all methods we expose and proxy  to our internal eth clients \n\n| rpc_method,                             | description |\n|-----------------------------------------|-------------|\n| eth_blockNumber                         |             |\n| eth_call                                |             |\n| eth_estimateGas                         |             |\n| eth_gasPrice                            |             |\n| eth_getBalance                          |             |\n| eth_getBlockByHash                      |             |\n| eth_getBlockByNumber                    |             |\n| eth_getBlockTransactionCountByHash      |             |\n| eth_getBlockTransactionCountByNumber    |             |\n| eth_getCode                             |             |\n| eth_getStorageAt                        |             |\n| eth_getTransactionByBlockHashAndIndex   |             |\n| eth_getTransactionByBlockNumberAndIndex |             |\n| eth_getTransactionByHash                |             |\n| eth_getTransactionCount                 |             |\n| eth_getTransactionReceipt               |             |\n| eth_getUncleByBlockHashAndIndex         |             |\n| eth_getUncleByBlockNumberAndIndex       |             |\n| eth_getUncleCountByBlockHash            |             |\n| eth_getUncleCountByBlockNumber          |             |\n| eth_sign                                |             |\n| eth_signTypedData                       |             |\n| eth_sendRawTransaction                  |             |\n \n### OpenMEV\n\nTo send a transaction that you would want a rebate on, you use this custom rpc methods: \n\n```\nmanifold_sendTransaction   \n```\n\n#### RPC Endpoints\n\n##### HTTPS\n\nhttps://api.sushirelay.com/v1\n\n### WebSocket\n\n#### Staging\n```\nwss://api-stag.sushirelay.com/v1\n```\n#### Production\n\n```\nwss://api.sushirelay.com/v1\n```\n\n#### Example: Websocket usage\n\n```sh\n$ wscat -c wss://api.sushirelay.com/v1\n```\n```sh\n\u003c {\"method\":\"manifold_motd\",\"jsonrpc\":\"2.0\",\"params\":{\"result\":{\"notice\":\"THIS IS A NOTICE OF MONITORING OF MANIFOLD FINANCE, INC NETWORK INFORMATION SYSTEMS  By logging into Manifold Finance, Inc computer systems, you acknowledge and consent to monitoring of this system.  Network Policy \u003chttps://docs.manifoldfinance.com/network/policy\u003e  By using this network, you certify that you have read, understand, and agree to abide by the Rules of Behavior for Manifold Finance Network Platform.\"}}}\n\u003e\n```\n\n\n\n## 🧰 Specification\n\n\u003e Engineering Goals and Specification\n\nOpenMEV is built ontop of our 'backbone platform'. Backbone is built on baremetal instances, with OVH, equinix bare metal, and hetzner as the main providers. Nix/Kotlin/Kubernetes/kdb+/redpanda are the primary tech stack components.\n\n### Dashboard\n\nA Grafana dashboard utilizing OAuth2 via GitHub is available for partners and integration users.\n\nExample screenshots with information redacted are provided below\n\n##### Grafana - 1\n\n\u003e Click To Open Image\n\n\u003cdetails\u003e\n\u003csummary\u003eDashboard Overview\u003c/summary\u003e\n\n![](grafana1.png)\n\n\u003c/details\u003e\n\n\n\n##### Grafana - 2\n\n\u003e Click To Open Image\n\n\u003cdetails\u003e\n\u003csummary\u003eRPC Overview\u003c/summary\u003e\n\n![](grafana2.png)\n\n\u003c/details\u003e\n\n\n### Design goals\n\n- **Pre-trade privacy**\nPre-trade privacy implies transactions only become publicly known after they have been included in a block. Note, this type of privacy does not exclude privileged actors such as transaction aggregators / gateways / miners.\n- **Failed trade privacy**\nFailed trade privacy implies loosing bids are never included in a block, thus never exposed to the public. Failed trade privacy is tightly coupled to extraction efficiency.\n- **Complete privacy**\nComplete privacy implies there are no privileged actors such as transaction aggregators / gateways / miners who can observe incoming transactions.\n- **Finality**\nFinality implies it is infeasible for MEV extraction to be reversed once included in a block. This would protect against time-bandit chain re-org attacks.\n\n### Architecture Goals\n\n#### Redundant resources (trade cost)\nHaving redundant resources to avoid single points of failure.\n Every component can fail, but the system is robust enough that an individual outage can be tolerated.\n\n#### Degraded results (trade quality)\nFor some services, it might be acceptable to trade quality for reliability. \nInstead of expecting every transaction to succeed, it can be tolerable for a business to see some requests fail.\n\n#### Retry transient failures (trade latency)\nIf a response isn't returned in the expected time, the system sends the same request again.\n\n\n## 📐 Technical Integration / SDK\n\n1. [OpenMEV Ethersjs Provider](https://github.com/manifoldfinance/openmev-provider)\n\nExpanding Integration to have a unstyled widget component and react hook. \n\n### New Features for SDK\n\n- Populates back to user errors from all rpc endpoints\n- Populates back to user an exception if rejected for malformed/defects\n- Users can query the state of their transactions\n- Users can query their 'status': pending rebates, total rebates, \n\n- Path Optimization \n- Aggreation layer optional\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanifoldfinance%2Foverview-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanifoldfinance%2Foverview-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanifoldfinance%2Foverview-docs/lists"}