What is Kipseli PropAMM?
Kipseli PropAMM is a professional Automated Market Maker deployed on Base that enables token swaps with competitive, on-chain pricing. Integrators can get quotes and execute swaps by combining on-chain contract calls with a lightweight signing API.Contract Addresses (Base Mainnet)
| Contract | Address |
|---|---|
| Router (PropAmm) | 0x71c2ed90cc288229be59f26b8b3eef3c07d7ab99 |
| Helper (QuoteLens) | 0x62aff80b3d2afe0e497f1ef735a6fdc9c3ef1acf |
| EIP-712 Verifier | 0xca369e97cc161c3c3a7368f9bc55a47f36a0a91e |
Contract Interfaces
Router (IPropAmm)
Helper (IQuoteLens)
Whitelist Requirement
Both on-chain quoting (EIP-712 signature) and the swap signing API require your address to be whitelisted. Contact the Kipseli team and provide your signing address to get access.Integration Overview
Getting a Quote
Choose one of two methods: Method 1 — On-chain via EIP-712 signature- Generate
timestampInMilisec(current time in ms). Must be within 10 seconds of the current block. - Sign the EIP-712 typed data with your whitelisted key (see EIP-712 Signature below).
- Call
quote(tokenIn, amountIn, tokenOut, timestampInMilisec, signature)on the Router. - Receive
amountOut— your expected output amount.
GET /v1/price to get the live on-chain orderbook for all configured pairs. See Get Orderbook.
Executing a Swap
Step 1 — Get verification data CallPOST /v1/swap/sign with your swap parameters. The API returns verificationData and timestamp. See Request Swap Verification.
Step 2 — Approve the Router
swap()
timestamp and verificationData must be passed directly from the API response without modification. If either is changed or expired, the transaction will revert.
EIP-712 Signature
To callquote() on-chain, you must sign the following struct with a whitelisted key:
Fee Structure
Thefee field in swap requests uses 0.1 bps resolution:
| Value | Rate |
|---|---|
1 | 0.1 bps (0.001%) |
10 | 1 bps (0.01%) |
30 | 3 bps (0.03%) |
100 | 10 bps (0.10%) |
- Fee is deducted from the output amount (
amountOut). - Fees are settled monthly in a mutually agreed currency (e.g. USDC, ETH).
Error Format
All API errors follow a consistent envelope:| Code | HTTP Status | Description |
|---|---|---|
INVALID_JSON | 400 | Malformed or missing JSON body |
UNSUPPORTED_FIELD | 400 | Unknown field in request body |
VALIDATION_ERROR | 422 | Field-level validation failure |
SIGNING_FAILED | 500 | secp256k1 signing error |
ENCODING_FAILED | 500 | ABI encoding error |
INTERNAL_ERROR | 500 | Unexpected server error |