The build and submit endpoints require the Transaction Builder add-on. Without it they return HTTP 402 with
"addon": "transactionBuilder". The read endpoints (quote, reverse-quote, tokens, supported-dexes, status) need only a market-data-eligible tier.https://nexus.gerowallet.io · Auth: X-Api-Key: nexus_…
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/aggregator/quote | Best-execution quote for an exact input amount |
| POST | /api/aggregator/reverse-quote | Exact-output quote — least input to obtain a desired output |
| POST | /api/aggregator/build-tx | Build the unsigned swap transaction (CBOR) |
| POST | /api/aggregator/submit | Co-sign and submit the signed swap transaction |
| GET | /api/aggregator/status/{txHash} | Order status |
| GET | /api/aggregator/tokens | Tokens with at least one routable pool |
| GET | /api/aggregator/supported-dexes | DEXes available for routing and building |
The flow
- Quote — POST
/api/aggregator/quote(exact-in) or/api/aggregator/reverse-quote(exact-out). You get the best route: expected output, price impact, the fee breakdown, andappliedFeeRate/discountApplied. - Build — POST the chosen route to
/api/aggregator/build-tx. You receiveunsignedTxCborandtxBodyHash. The transaction already contains the DEX order, the aggregator fee output, and the aggregator’s key inrequiredSigners. - Sign — sign the CBOR client-side with CIP-30
signTx(unsignedTxCbor, true). Nexus never sees your keys. This produces your witness set. - Submit — POST
{ unsignedTxCbor, userWitnessHex }to/api/aggregator/submit. Nexus validates the fee output, co-signs with the aggregator key, merges witnesses, and submits. You get atxHash. - Track — poll
/api/aggregator/status/{txHash}:PENDING | SUBMITTED | CONFIRMED | FAILED | EXPIRED.
Submission is co-signed:
/build-tx puts the aggregator’s key in requiredSigners, so the transaction is only valid once Nexus adds its signature at /submit. This is what enforces the aggregator fee — a transaction Nexus did not build (or whose fee output was altered) is rejected with UNKNOWN_BUILD.Fees
The aggregator fee is a separate output on the swap transaction, taken on the ADA side.| Rate | |
|---|---|
| Standard | 0.10% |
| GERO holders (≥ $10 of GERO at the sending address) | 0.05% |
senderAddress on the quote request to see your effective rate (appliedFeeRate, discountApplied). The rate is pinned when the transaction is built and re-checked at submit with a small grace band, so price movement between build and submit cannot invalidate an honest swap.
Because the fee is a standalone ADA output it is subject to Cardano’s minimum-UTxO rule, so the effective minimum fee is ~1.2 ADA even though the percentage floor is 0.5 ADA. This only affects swaps whose proportional fee would otherwise fall below ~1.2 ADA (roughly, ADA notionals under ~1,200); above that the percentage dominates.
Exact-output quotes
/api/aggregator/reverse-quote returns the least input required to net a desired output. For token → ADA swaps, the response’s minimumOutput is the gross pool floor (amountOut + the DEX batcher fee), so it can be larger than expectedOutput — this is intentional: it guarantees you net the amount you asked for after the batcher takes its fee. The required input is reported in the route’s amountIn; maximumInput carries the slippage ceiling.
Submit error codes
/api/aggregator/submit returns structured errors as { "errorCode": …, "message": … }:
errorCode | HTTP | Meaning |
|---|---|---|
FEE_OUTPUT_MISSING | 400 | No output to the aggregator fee address |
FEE_TOO_LOW | 400 | Fee output below the minimum |
COSIGNER_PKH_MISSING | 400 | Aggregator key absent from requiredSigners |
UNKNOWN_BUILD | 400 | Transaction body was not produced by /build-tx |
DISCOUNT_NO_LONGER_ELIGIBLE | 409 | GERO holdings dropped below the discount threshold since build — request a fresh quote |
REGISTRY_UNAVAILABLE | 503 | The build registry was unavailable — retry the build |
COSIGNER_DISABLED | 503 | Co-signing not configured on the server |
SUBMIT_REJECTED | 502 | The node/network rejected the transaction (reason included) |
Supported DEXes
The routable set is returned live byGET /api/aggregator/supported-dexes (the txBuilding list). At launch it spans the major Cardano spot venues — Minswap (V1/V2), SundaeSwap V3, WingRiders (V1/V2), MuesliSwap, TeddySwap, Splash, CSwap, and ShadowBook. VyFi is indexed but not yet routable.