Quote a swap through a putty pool
Computes putty's fee on a swap and the amount the trader actually receives or pays. The fee is `floor(unspecifiedAmount * 30 / 10_000)` in exact integer arithmetic, so the quote agrees with the fork simulation to the wei. `unspecifiedAmount` is the amount on the far side of what the trader fixed: the output for an exact-input swap, the input for an exact-output swap. putty's fee is always reported as its own line, separate from the pool fee and any creator fee.
Computes putty's fee on a swap and the amount the trader actually receives or pays. The fee is floor(unspecifiedAmount * 30 / 10_000) in exact integer arithmetic, so the quote agrees with the fork simulation to the wei. unspecifiedAmount is the amount on the far side of what the trader fixed: the output for an exact-input swap, the input for an exact-output swap. putty's fee is always reported as its own line, separate from the pool fee and any creator fee.
Authorization
bearerAuth A bearer token. The Account routes accept a Privy access token; the MCP transport accepts an sk- API key issued by POST /account/api-keys.
In: header
Request Body
application/json
The swap's amounts and direction.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/pools/quote" \ -H "Content-Type: application/json" \ -d '{ "specifiedAmount": "string", "unspecifiedAmount": "string", "exactInput": true }'{ "specifiedAmount": "string", "unspecifiedAmount": "string", "puttyFeeAmount": "string", "netAmount": "string", "exactInput": true, "fees": [ { "label": "string", "bps": 0 } ]}Set up a putty pool POST
Mines a CREATE2 salt so the hook's address carries its permission bits, then builds the three transactions that stand the pool up: deploy the hook, initialise the pool, add liquidity. The server does not sign and does not send. The order matters — the pool records the hook address, and liquidity cannot exist in a pool that does not — so the transactions are returned in sequence and must be signed in order. Every pool putty sets up charges putty's fee on each swap, so this route refuses while `PUTTY_TREASURY_ADDRESS` is the zero address on a non-fork chain. The fee is fixed at construction: there is no function anywhere that can raise it or redirect the treasury, so a pool's terms are settled the moment it exists.
List your signing requests GET
Returns the caller's signing requests, newest first. Scoped to the owner in the query itself, so the list can never contain another user's row.