API endpoints

Overview

The Madhouse API is a powerful interface that aggregates liquidity from multiple decentralized exchanges to provide the best swap rates for users. It supports multiple chains and protocols, offering a seamless experience for token swaps.

Quick Start

curl -X 'GET' \
  'https://api.madhouse.ag/swap/v1/protocols?chain=10143' \
  -H 'accept: application/json'

Authentication

Currently, the API does not require authentication. Rate limiting is implemented to ensure fair usage.

Endpoints

Get Quote

Retrieves a quote for swapping tokens across different DEX protocols.

Endpoint: GET /swap/v1/quote

Query Parameters:

Parameter
Type
Required
Description
Example

chain

string

Yes

Chain ID

10143 (Monad Testnet)

tokenIn

string

Yes

Address of the input token

0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701 (WMON)

tokenOut

string

Yes

Address of the output token

0xf817257fed379853cDe0fa4F97AB987181B1E5Ea (USDC)

amountIn

string

Yes

Amount of input token to swap

1000000000000000000 (1 WMON)

protocols

string

No

Comma-separated list of protocols that will be used for routing

uniswap-v2,uniswap-v3

slippage

number

No

Maximum acceptable slippage

0.002 (0.2%)

includeTokenInfo

boolean

No

Include detailed token information

true

includePoolInfo

boolean

No

Include pool information

true

Example Request:

curl -X 'GET' \
  'https://api.madhouse.ag/swap/v1/quote?chain=10143&tokenIn=0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701&tokenOut=0xf817257fed379853cde0fa4f97ab987181b1e5ea&amountIn=1000000000000000000&protocols=uniswap-v2,uniswap-v3&slippage=0.002&includeTokenInfo=true' \
  -H 'accept: application/json'

Example Response:

{
  "tokenIn": {
    "address": "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
    "name": "Wrapped Monad",
    "symbol": "WMON",
    "decimals": 18
  },
  "tokenOut": {
    "address": "0xf817257fed379853cDe0fa4F97AB987181B1E5Ea",
    "name": "USD Coin",
    "symbol": "USDC",
    "decimals": 6
  },
  "amountOut": "1617900",
  "routes": [
    {
      "pool": "0x5323821de342c56b80c99fbc7cd725f2da8eb87b",
      "fromToken": {
        "address": "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
        "name": "Testnet MON Token",
        "symbol": "MON",
        "decimals": 18
      },
      "toToken": {
        "address": "0xf817257fed379853cDe0fa4F97AB987181B1E5Ea",
        "name": "USD Coin",
        "symbol": "USDC",
        "decimals": 6
      },
      "percent": 1
    }
  ],
  "tx": {
    "to": "0x1e538356d3cfe7fa04696a92515add4a895ecb65",
    "data": "0x...",
    "value": "1000000000000000000"
  }
}

Get Tokens

Retrieves a list of supported tokens for a specific chain.

Endpoint: GET /swap/v1/tokens

Query Parameters:

Parameter
Type
Required
Description
Example

chain

string

Yes

Chain ID

10143 (Monad Testnet)

Example Request:

curl -X 'GET' \
  'https://api.madhouse.ag/swap/v1/tokens?chain=10143' \
  -H 'accept: application/json'

Example Response:

{
  "tokens": [
    {
      "address": "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
      "name": "Wrapped Monad",
      "symbol": "WMON",
      "decimals": 18
    },
    {
      "address": "0xf817257fed379853cDe0fa4F97AB987181B1E5Ea",
      "name": "USD Coin",
      "symbol": "USDC",
      "decimals": 6
    }
  ]
}

Get Protocols

Retrieves a list of supported DEX protocols for a specific chain.

Endpoint: GET /swap/v1/protocols

Query Parameters:

Parameter
Type
Required
Description
Example

chain

string

Yes

Chain ID

10143 (Monad Testnet)

Example Request:

curl -X 'GET' \
  'https://api.madhouse.ag/swap/v1/protocols?chain=10143' \
  -H 'accept: application/json'

Example Response:

{
  "protocols": [
    {
      "id": "uniswap-v2",
      "name": "Uniswap (v2)"
    },
    {
      "id": "uniswap-v3",
      "name": "Uniswap (v3)"
    }
  ]
}

Supported Chains

The API supports the following chains:

  • Monad Testnet

Supported Protocols

The API supports the following DEX protocols:

  • Native token wrapper

  • Uniswap (v2)

  • Uniswap (v3)

  • PancakeSwap (v2)

  • PancakeSwap (v3)

  • Balancer

  • Atlantis (v2)

  • aPriori

  • Magma

  • ShMonad

  • Kintsu

  • OctoSwap (v1)

  • Glacier

  • Kuru

Support

For any questions or issues, please contact our support team.

Last updated