Aggregator API

The Minswap Aggregator API provides direct access to Minswap's aggregation functionality for partners who want to implement their own interface and control the trading logic.

Get current ADA price in multiple currencies

get
Query parameters
currencystring · enumRequired

Currency code to get ADA price in. Common values: usd, eur, jpy.

Example: usdPossible values:
Responses
chevron-right
200

Current ADA price and 24-hour change in requested currency

application/json
currencystringOptional

The requested currency code in lowercase Example: "usd", "eur", "gbp"

Example: usd
get
/ada-price
200

Current ADA price and 24-hour change in requested currency

Query wallet balances and token information

get
Query parameters
addressstringRequired

Cardano wallet address to query

  • Supports both Cbor and Hex format addresses
  • Will be normalized to Cbor format in response
Example: addr1...
amount_in_decimalbooleanOptional

If true, all token balances are returned as decimal strings (e.g., "1.5" ADA), not the smallest unit (e.g., "1500000" lovelace). If false or omitted, balances are in smallest unit.

Responses
chevron-right
200

Detailed wallet balance information including ADA and native tokens

application/json
walletstringOptional

The wallet address in cbor format Example: "addr1..."

Example: addr1...
adastringOptional

ADA balance.

  • 1 ADA = 1,000,000 lovelace
  • Returned as string to handle large numbers accurately Examples:
  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
Example: 5000000
minimum_lovelacestringOptional

Minimum required ADA for the wallet. This represents the minimum ADA required to hold native tokens due to the Cardano protocol's UTxO rules. Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
amount_in_decimalbooleanOptional

Whether amount_in_decimal is enabled or not

get
/wallet
200

Detailed wallet balance information including ADA and native tokens

Search and filter token information with pagination

post

Search for tokens with optional filtering and pagination support. Results can be filtered to only show verified tokens, specific token IDs, or tokens matching a search query.

Body
querystringRequired

Search query string to match against:

  • Token name (e.g., "Minswap")
  • Token ticker (e.g., "MIN")
  • Policy ID Empty string returns all tokens (subject to other filters)
Example: min
only_verifiedbooleanRequired

When true, returns only tokens verified by Minswap

  • true: Only verified tokens
  • false: All tokens including unverified ones
Example: true
assetsstring[]Optional

Optional list of specific token_ids to fetch Format: Array of "" strings Example: ["29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"]

Example: ["29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e"]
search_afterstring[]Optional

Pagination cursor from previous response

Responses
chevron-right
200

Token search results with pagination information

application/json
search_afterstring[]Optional

Pagination cursor for the next page

post
/tokens
200

Token search results with pagination information

Get optimal swap route and price estimation across DEX protocols

post

Find the best possible swap route and price estimation by aggregating liquidity across multiple DEX protocols. Supports direct swaps and multi-hop routing.

Body
amountstringRequired

Amount of input token.

  • If amount_in_decimal is true: amount is a decimal string (e.g., "1.5" ADA)
  • If amount_in_decimal is false or omitted: amount is in the smallest unit (e.g., "1500000" lovelace) For ADA: 1 ADA = 1,000,000 lovelace. For other tokens: amount * (10 ^ decimals). Examples:
  • "1.5" (with amount_in_decimal=true) means 1.5 ADA or tokens
  • "1000000" (with amount_in_decimal=false) means 1 ADA or token with 6 decimals
token_instringRequired

Input token identifier:

  • For ADA: use "lovelace"
  • For other tokens: use "" format Example: "29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e" for MIN token
Example: lovelace
token_outstringRequired

Output token identifier:

  • For ADA: use "lovelace"
  • For other tokens: use "" format Must be different from token_in
Example: 29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e
slippagenumberRequired

Maximum acceptable slippage percentage:

  • Examples: 0.5 means 0.5% slippage tolerance
  • Used to calculate min_amount_out
Example: 0.5
allow_multi_hopsbooleanOptional

Control whether multi-hop swaps are allowed:

  • true: Allow routing through multiple pools to find best price
  • false: Only allow direct swaps through a single pool

Multi-hop swaps can often provide better prices by routing through intermediate tokens, but may have higher total fees due to multiple swaps. Example: ADA -> MIN -> iUSD might be more efficient than direct ADA -> iUSD

partnerstringOptional

Partner identifier for tracking and analytics:

  • Optional string to identify the partner integration
  • Used for volume tracking and potential fee sharing programs
amount_in_decimalbooleanOptional

If true, the amount field is interpreted as a decimal string (e.g., "1.5" ADA), not the smallest unit (e.g., "1500000" lovelace). If false or omitted, amount is in smallest unit.

Responses
chevron-right
200

Successful route estimation response containing detailed information about:

  • Token amounts and minimums
  • Fee breakdowns (LP, DEX, and aggregator fees)
  • Price impact
  • Detailed routing paths through different DEX protocols
application/json
token_instringOptional

Input token identifier (matches request) Example: "lovelace" for ADA

token_outstringOptional

Output token identifier (matches request) Example: "29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c64d494e" for MIN

amount_instringOptional

Total input amount for the swap. Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
amount_outstringOptional

Expected output amount This is the estimated amount before slippage Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
min_amount_outstringOptional

Minimum output amount considering slippage Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
total_lp_feestringOptional

Total LP fees across all pools in the route Sum of all lp_fee values from individual paths Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
total_dex_feestringOptional

Total DEX protocol fees across all pools in lovelace Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
depositsstringOptional

Total required ADA deposits for output tokens Required by Cardano protocol for holding native tokens Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
avg_price_impactnumberOptional

Average price impact percentage across all pools Lower is better, high values indicate significant market impact Example: 0.5 means 0.5% price impact

aggregator_feestringOptional

Aggregator service fee amount Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
aggregator_fee_percentnumberOptional

Aggregator fee percentage Example: 0.5

amount_in_decimalbooleanOptional

Whether amount_in_decimal is enabled or not

post
/estimate
200

Successful route estimation response containing detailed information about:

  • Token amounts and minimums
  • Fee breakdowns (LP, DEX, and aggregator fees)
  • Price impact
  • Detailed routing paths through different DEX protocols

Build unsigned swap transaction

post

Constructs an unsigned Cardano transaction for performing the swap operation. This endpoint uses the results from /estimate to build a valid transaction that can be signed by the user's wallet and submitted to the network.

The transaction will:

  1. Take tokens from the sender's wallet

  2. Execute swaps through specified DEX protocols

  3. Return output tokens to the sender

  4. Handle all necessary ADA deposits and fee payments

Body
senderstringRequired

Cardano wallet address that will:

  • Provide the input tokens
  • Pay transaction fees
  • Receive output tokens
min_amount_outstringRequired

Minimum acceptable output amount Must be greater than or equal to the min_amount_out from the /estimate response to ensure price protection Examples:

  • "1.5" (with amount_in_decimal=true) means 1.5 ADA
  • "1000000" (with amount_in_decimal=false) means 1 ADA
inputs_to_choosestring[]Optional

Optional list of preferred UTxO inputs to use when building the transaction.

amount_in_decimalbooleanOptional

If true, the amount in the estimate is interpreted as a decimal string (e.g., "1.5" ADA), not the smallest unit (e.g., "1500000" lovelace). If false or omitted, amount is in smallest unit.

Responses
chevron-right
200

Successfully built unsigned transaction The returned CBOR can be signed by the sender's wallet

application/json
cborstringOptional

Unsigned transaction in CBOR format This can be:

  1. Signed using the sender's wallet
  2. Submitted to /finalize-and-submit-tx with witness data

Example: "84a400..." (hex-encoded CBOR)

post
/build-tx
200

Successfully built unsigned transaction The returned CBOR can be signed by the sender's wallet

Submit signed transaction to network

post

Submits a signed transaction to the Cardano network. This endpoint should be called after getting the unsigned transaction from /build-tx and signing it with the sender's wallet.

The endpoint will:

  1. Validate the transaction and witness data

  2. Submit the transaction to the Cardano network

  3. Return the transaction ID for tracking

Body
cborstringRequired

Unsigned transaction CBOR from /build-tx response Must be the exact CBOR string received, unmodified Example: "84a400..." (hex-encoded CBOR)

witness_setstringRequired

Witness data containing the transaction signature Generated by the sender's wallet when signing Must be hex-encoded Example: "a100..." (hex-encoded witness data)

Responses
chevron-right
200

Transaction successfully submitted to the network The transaction will be processed in the next available block

application/json
tx_idstringOptional

Transaction ID (hash) for tracking Can be used to:

  • Monitor transaction status
  • Look up transaction on block explorers Example: "1abc..." (hex-encoded transaction hash)
post
/finalize-and-submit-tx
200

Transaction successfully submitted to the network The transaction will be processed in the next available block

Get list of pending swap orders for a wallet

get

Retrieves all pending swap orders for a given wallet address across different DEX protocols. This endpoint is useful for:

  • Finding orders that need to be cancelled

  • Tracking pending transactions

Orders remain pending until they are either:

  • Filled (swap completed)

  • Cancelled (using /cancel-tx)

  • Expired (if the DEX protocol supports expiration)

Query parameters
owner_addressstringRequired

Cardano wallet address to query pending orders for Must be in bech32 format Example: "addr1..."

amount_in_decimalbooleanOptional

If true, all token amounts are returned as decimal strings (e.g., "1.5" ADA), not the smallest unit (e.g., "1500000" lovelace). If false or omitted, amounts are in smallest unit.

Responses
chevron-right
200

Successfully retrieved pending orders Returns an empty array if no pending orders exist

application/json
amount_in_decimalbooleanOptional

Whether amount_in_decimal is enabled or not

get
/pending-orders
200

Successfully retrieved pending orders Returns an empty array if no pending orders exist

Build transaction to cancel pending orders

post

Builds an unsigned transaction that cancels pending swap orders. This is useful when:

  • A swap transaction is stuck or pending

  • You want to reclaim tokens from an unfilled order

  • You want to cancel multiple orders at once

Supports cancelling orders across multiple DEX protocols Can cancel up to 6 orders in a single transaction

Body
senderstringRequired

Cardano wallet address that:

  • Originally created the orders
  • Will receive refunded tokens

Must be in bech32 format Example: "addr1..."

Responses
chevron-right
200

Successfully built unsigned cancellation transaction The returned CBOR can be signed by the sender's wallet

application/json
cborstringOptional

Unsigned transaction in CBOR format This can be:

  1. Signed using the sender's wallet
  2. Submitted to /finalize-and-submit-tx with witness data

Example: "84a400..." (hex-encoded CBOR)

post
/cancel-tx
200

Successfully built unsigned cancellation transaction The returned CBOR can be signed by the sender's wallet

Last updated