Skip to content

Add MRC-17: PropAMM Router Interface - #91

Merged
QEDK merged 3 commits into
monad-crypto:mainfrom
haythemsellami:mrc-17
Oct 6, 2026
Merged

QEDK merged 3 commits into
monad-crypto:mainfrom
haythemsellami:mrc-17

Conversation

@haythemsellami

@haythemsellami haythemsellami commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

New MRC, draft.

This MRC defines a standard routing interface for propAMMs.

Forum post: https://forum.monad.xyz/t/mrc-17-propamm-routing-interface/

@ShadowOfTime1

Copy link
Copy Markdown

I build against this exact pattern (the moss Kuru adapter quotes by eth_call-ing the swap path), so two things from running it on mainnet:

  1. The spec gives a venue no way to say "I can't fill right now" as distinct from "the quote failed." Every failure of getAmountOut is a revert, so a router cannot tell a paused or empty venue from a broken quote or an out-of-gas frame. That matters for any router that compares venues exhaustively. On mainnet, one Kuru MON/USDC market reverted every quote with MarketStateError() for two weeks, and a strict comparison refused the whole pair even though three other markets filled. Could the MRC standardize the signal? For example, a venue that cannot fill MUST return amountOut = 0 rather than revert, or a standard PropAMMUnavailable() error, so that a revert unambiguously means failure.

  2. Quote expiry isn't exposed. Execution is guaranteed "before its expiry", but the expiry only lives inside opaque swapData, so a router can't tell when to requote. Would an explicit validUntil return, or a standard error for stale swapData, fit here?

@QEDK QEDK left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some thoughts.

Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md
Comment thread MRCs/MRC-17.md Outdated
Comment thread MRCs/MRC-17.md Outdated
@haythemsellami haythemsellami changed the title Add MRC-17: PropAMM Routing Interface Add MRC-17: PropAMM Router Interface Oct 1, 2026

@QEDK QEDK left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@QEDK
QEDK merged commit a261557 into monad-crypto:main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants