Integration guides. v1 is hand-written; we will switch to MDX-rendered content (next-mdx-remote / Contentlayer) once we have more than three sections.
ProNad is a drop-in RFQ source. The integration is two HTTP calls:
POST /v1/rfq with (baseToken, quoteToken, baseAmount, trader, chainId).PronadSettlement.settleRFQ(quote, signature).Trader must have approved PronadSettlement for the base token amount before submission. Permit-based flows arrive in v2.
Two ways to provide inventory to ProNad:
Quotes are signed off-chain by an EOA you control. Rotate keys via ExternalAccountVenue.setSigner(...); the registry does not need to be touched.
EIP-712 typed data. Domain:
{
name: "Pronad",
version: "1",
chainId: <network>,
verifyingContract: <PronadSettlement>
}Type RFQQuote:
address venue address externalAccount address trader address baseToken address quoteToken uint256 baseAmount uint256 quoteAmount uint256 nonce uint256 expiry
The complete TypeScript view (zod-validated) lives in @pronad/shared-types; the Rust mirror lives in services/quoter/src/types.rs.
Monad testnet deployment record: contracts/deployments/monad-testnet.json. Mainnet TBD.