Introduction

We're enhancing our Spot offering with BluefinX - a permissionless Request for Quote (RFQ) system with an off-chain auction for bids and on-chain execution. We expect that the RFQ quotes, inherently benefiting from speed, no MEV and no slippage will almost always win; driving fee capture on major pairs across the ecosystem to the participating Marker Makers and Bluefin.

System Overview and Design

Bluefin’s RFQ system enables Market Makers to bid on quotes, with the best bid selected by the RFQ API and forwarded to the frontend users to accept and execute. Market Makers must deposit funds to a dedicated vault smart contract (shared object) to facilitate transactions, ensure bid signatures are valid, and maintain compliance with operational guidelines to avoid penalties. User swaps will be executed against this vault, and Bluefin’s order routing system will consider both RFQ and Aggregator routes to determine maximum price efficiency for the user.

sequenceDiagram
   participant FE as Frontend
   participant API as Bluefin RFQ API
   participant MM as Market Makers
   participant Vault as Vault Contract
   participant CEL
   participant CELKafkaTopic as CEL Kafka Topic
   participant RFQTxnTopic as RFQ Txns Topic

   MM->>Vault: Deposit funds
   FE->>API: /quote
 
   activate API
   activate MM
   activate FE
      API->>MM: /quote
      MM->>API: /quote response with signature
   deactivate MM
      API ->> API: Store chosen quote
      API->>FE: Best /quote response with a signature
   deactivate API
   deactivate FE
   
   FE ->> API : Request for gas data object
	
	 activate API
	 activate FE
			API ->> FE : Gas Data Object response
			deactivate API 
      FE ->> FE : constructs transaction using gas data object and signs it
      FE ->> API : Send Partially signed transaction
   deactivate FE
   
   activate API
   activate MM
		  API ->> MM: request for last-look approval and execution
	    MM ->> MM: rejects/approves the transaction
	    MM ->> API: rejection/approval message
	 deactivate MM 
			API ->> RFQTxnTopic: Publish Tx execution message if required.
	    API ->> FE : rejection/approval message
	 deactivate API
	 

	 activate API
	 API ->> RFQTxnTopic : Consume the transaction execution message
	 API ->> API : Submit transaction to Node
	 deactivate API

   activate Vault
	   Vault ->> CEL: Publish the event
	   CEL ->> CELKafkaTopic: Publish the message
	   API ->> CELKafkaTopic: Consume the message
	   API ->> API: Update the success rate of the MM
   deactivate Vault

   Note over FE,CELKafkaTopic: end

Key Benefits

✅ Best Pricing – Aggregates quotes from multiple Market Makers to ensure the most competitive price.

✅ Fast Execution – Instant price discovery and execution with minimal latency.

✅ On-Chain Settlement – Secure transactions with cryptographic signatures for trustless execution.

✅ No Slippage – Trades are filled at their quoted price with no slippage

✅ MEV Protection – Quotes are exclusive to the taker requesting them

RFQ Flow

  1. Market Makers create a vault
  1. Market Makers deposit tokens to the vault