Quote a fund deposit
Creates a UserOperation to deposit into a curated Enzyme vault. Enzyme Blue settles immediately (approve + buyShares). Enzyme Onyx async settles as queued (approve + requestDeposit). Cross-chain deposits (chainIdIn different from the fund chain) are supported for Enzyme Onyx via Relay. The FUND_DEPOSIT fee is taken from the denomination asset. When tokenIn is swapped or bridged first, a SWAP fee is also taken from tokenIn. Optional gasFeePaymentMethod controls whether gas is added on top of or deducted from the matching asset. Execute with the existing crypto execute-user-op endpoint.
Authorization
x-api-key In: header
Path Parameters
Fund UUID or slug
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/fund/targen-vertex/deposit/quote" \ -H "Content-Type: application/json" \ -d '{ "walletAddress": "0x6E397DDf51D9f15DbE0414538e7529f51f2E5464", "amount": "100.00", "tokenIn": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "payGasFeeToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }'{ "metadata": { "key": "value" }, "userOperationHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1", "revertReason": { "decoded": "ERC-20 insufficient balance. Address 0xf12534a4939c7fbda50f893774a9525265fe1a9a has 120. The operation requested 200.", "raw": "0xe450d38c000000000000000000000000f12534a4939c7fbda50f893774a9525265fe1a9a0000000000000000000000000000000000000000000000068155a43676e0000000000000000000000000000000000000000000000000000ad78ebc5ac6200000", "utf8": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�%4�����\u000f�7t�RRe�\u001a�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006�U�6v�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n�Z� \u0000\u0000" }, "authorization": { "chainId": 42161, "address": "0xd6cedde84be40893d153be9d467cd6ad37875b28", "nonce": 10, "hash": "0x777811ae5d51875409b9978ddc1b40a9da1bbe9570040bdd7c5f186d70ceceba" }, "walletAddress": "0x6E397DDf51D9f15DbE0414538e7529f51f2E5464", "expiresAt": "2026-07-31T15:00:00.000Z", "amounts": { "in": [ { "token": { "name": "Wrapped Bitcoin", "symbol": "WBTC", "decimals": 18, "address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f", "logoURL": "https://assets.notus.team/wbtc.png" }, "amount": "3342.7389263", "amountIn": { "btc": "1234.98765", "eth": "1234.98765", "ltc": "1234.98765", "bch": "1234.98765", "bnb": "1234.98765", "eos": "1234.98765", "xrp": "1234.98765", "xlm": "1234.98765", "link": "1234.98765", "dot": "1234.98765", "yfi": "1234.98765", "usd": "1234.98765", "aed": "1234.98765", "ars": "1234.98765", "aud": "1234.98765", "bdt": "1234.98765", "bhd": "1234.98765", "bmd": "1234.98765", "brl": "1234.98765", "cad": "1234.98765", "chf": "1234.98765", "clp": "1234.98765", "cny": "1234.98765", "czk": "1234.98765", "dkk": "1234.98765", "eur": "1234.98765", "gbp": "1234.98765", "gel": "1234.98765", "hkd": "1234.98765", "huf": "1234.98765", "idr": "1234.98765", "ils": "1234.98765", "inr": "1234.98765", "jpy": "1234.98765", "krw": "1234.98765", "kwd": "1234.98765", "lkr": "1234.98765", "mmk": "1234.98765", "mxn": "1234.98765", "myr": "1234.98765", "ngn": "1234.98765", "nok": "1234.98765", "nzd": "1234.98765", "php": "1234.98765", "pkr": "1234.98765", "pln": "1234.98765", "rub": "1234.98765", "sar": "1234.98765", "sek": "1234.98765", "sgd": "1234.98765", "thb": "1234.98765", "try": "1234.98765", "twd": "1234.98765", "uah": "1234.98765", "vef": "1234.98765", "vnd": "1234.98765", "zar": "1234.98765", "xdr": "1234.98765", "xag": "1234.98765", "xau": "1234.98765", "bits": "1234.98765", "sats": "1234.98765" }, "from": "0xa2ACc967a9Fc4Fd5D18351D06deb9B8718c18333" } ], "out": [ { "token": { "name": "Wrapped Bitcoin", "symbol": "WBTC", "decimals": 18, "address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f", "logoURL": "https://assets.notus.team/wbtc.png" }, "amount": "3342.7389263", "amountIn": { "btc": "1234.98765", "eth": "1234.98765", "ltc": "1234.98765", "bch": "1234.98765", "bnb": "1234.98765", "eos": "1234.98765", "xrp": "1234.98765", "xlm": "1234.98765", "link": "1234.98765", "dot": "1234.98765", "yfi": "1234.98765", "usd": "1234.98765", "aed": "1234.98765", "ars": "1234.98765", "aud": "1234.98765", "bdt": "1234.98765", "bhd": "1234.98765", "bmd": "1234.98765", "brl": "1234.98765", "cad": "1234.98765", "chf": "1234.98765", "clp": "1234.98765", "cny": "1234.98765", "czk": "1234.98765", "dkk": "1234.98765", "eur": "1234.98765", "gbp": "1234.98765", "gel": "1234.98765", "hkd": "1234.98765", "huf": "1234.98765", "idr": "1234.98765", "ils": "1234.98765", "inr": "1234.98765", "jpy": "1234.98765", "krw": "1234.98765", "kwd": "1234.98765", "lkr": "1234.98765", "mmk": "1234.98765", "mxn": "1234.98765", "myr": "1234.98765", "ngn": "1234.98765", "nok": "1234.98765", "nzd": "1234.98765", "php": "1234.98765", "pkr": "1234.98765", "pln": "1234.98765", "rub": "1234.98765", "sar": "1234.98765", "sek": "1234.98765", "sgd": "1234.98765", "thb": "1234.98765", "try": "1234.98765", "twd": "1234.98765", "uah": "1234.98765", "vef": "1234.98765", "vnd": "1234.98765", "zar": "1234.98765", "xdr": "1234.98765", "xag": "1234.98765", "xau": "1234.98765", "bits": "1234.98765", "sats": "1234.98765" }, "minAmount": "88.15", "expectedAmount": "96.15", "to": "0xa2ACc967a9Fc4Fd5D18351D06deb9B8718c18333" } ] }, "fees": [ { "amount": "100.5", "token": "0x1234567890123456789012345678901234567890", "toAddress": "0x1234567890123456789012345678901234567890", "type": "NOTUS", "percentage": "2" } ], "estimatedGasFees": { "payGasFeeToken": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f", "gasFeeTokenAmount": "12.345", "gasFeeTokenAmountUSD": "0.321", "maxGasFeeNative": "string" }, "chain": { "id": 137, "name": "POLYGON", "logo": "https://logopolygon.com" }, "vaultProvider": "ENZYME_BLUE", "fundId": "f1e2d3c4-b5a6-9780-1234-567890abcdef", "vaultAddress": "0x58783f682Bd1ea0D11e1187e28445D3185B6A173", "settlementMode": "SYNC", "settlement": "immediate", "swap": { "provider": { "name": "Enso", "logo": "https://assets.notus.team/enso.png" }, "amountsOut": { "min": "96.15", "expected": "99.00" }, "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }}Quote a cancel of a queued fund request POST
Creates a UserOperation to cancel an Enzyme Onyx deposit or redeem request after canCancelAt. The original operation must be awaiting the manager. Execute with the existing crypto execute-user-op endpoint.
Quote a fund redeem POST
Creates a UserOperation to redeem shares from a curated Enzyme vault. Enzyme Blue first redeems into the denomination asset with redeemSharesForSpecificAssets. If that call reverts because the vault does not hold enough of the denomination asset, it redeems in kind with redeemSharesInKind and swaps every received asset into the denomination asset, charging no Notus fee on those swaps. The FUND_REDEEM fee is still taken from the denomination asset. Enzyme Onyx async settles as queued (approve + requestRedeem) and takes the fee from vault shares. Optional gasFeePaymentMethod controls whether gas is added on top of or deducted from the matching asset. Execute with the existing crypto execute-user-op endpoint.