▪️API

DEVELOPERS GUIDE

Overall Schema

We provide four key endpoints:

1. /tokens:

  • Description: This endpoint lists Houdini Swap tokens, detailing their respective chains for constructing your token selection list/dropdown.

  • Parameters: None required.

  • Response: A comprehensive list of tokens with corresponding details.

2. /quote:

  • Description: Allows the user to select any combination of tokens, the amount, and for private transactions, this endpoint is employed to produce a quote for user approval.

  • Parameters: amount, from, to, anonymous.

  • Response: Reveals the amount the user will receive, including the minimum and maximum token amounts permissible for exchange.

3. /exchange:

  • Description: Upon quote acceptance, this endpoint facilitates the exchange.

  • Parameters: Quote parameters, plus additional fields such as receiverTag (tag/memo where necessary), fixed vs. variable, IP, userAgent, and timezone.

Note: User Agent information is retained only for security checks against potential criminal activity and is not automatically forwarded to exchanges.

Response: The responses contain crucial information for the user:

  • "houdiniId": An order's unique identifier, crucial for status checks and identification if support is required.

  • "created": A timestamp of the order's inception.

  • "senderAddress": The user must send their funds into this address.

  • SenderAddress is a one-time use address generated by the exchange partner for processing the transaction.

  • You may send senderAddress to a wallet connect, although not required. The user can simply send funds directly from their wallet to the senderAddress.

  • "receiverAddress": The user-specified address for receiving funds.

  • "senderTag": The user must specify the senderTag when sending their transaction if the chain requires it. SenderTags are a one-time use tag/memo generated by the exchange partner for processing the transaction.

  • "receiverTag": The tag/memo that the user designated for receiving.

  • "expires": Indicates the time frame for users to send their funds. The transaction will still process if a user sends in funds after the time has expired, although if more than ~3 hours, the transaction may not be picked up by the exchange automatically. Support assistance would be required in this case.

  • "status": (detailed below)

  • "inAmount": The necessary token ("inSymbol") amount the user should send.


Status Guide 🚦

0: Pending - user funds not received by the deposit address ("senderAddress")

1: Order Received – the exchange acknowledges user’s funds have arrived in the deposit address ("senderAddress"), processing in progress.

2: Anonymizing – transaction advancing to the next phase.

3: Swapping – Transaction progressing to its final stage.

4: Order Complete – funds should have reached the user. At this point, the transaction hash "hashUrl" is a filled response.

8: Contact Support - This could stem from a system error or if the transaction has been flagged for criminal activity and requires AML ( t.me/HoudiniSwapSupport_Bot).


OpenAPI Usage Guide 📘

1. Trying Out an Endpoint

  • Authorize: Try out your API by selecting the "Authorize" option. For the "Value" parameter, input your authorization header: ApiKey:ApiSecret.

  • Input Parameters: For endpoints that require input, like /quote, /exchange, and /status, you'll see input fields where you can enter sample data.

  • Send a Request: After entering the necessary details, select "Try it out". This sends a server request, the response to which is then showcased on the page.

2. Understanding Responses

  • Response Codes: Familiarize yourself with HTTP status codes, e.g., 200 denotes success while 404 indicates not found.

  • Response Body: Beneath the status code, the response body displays a preview of the data expected from valid server requests.

3. Data Transfer Object (DTO) Schemas

  • Understanding Schemas: The interface's "Schemas" section, located at the bottom, provides a visual

Last updated