▪️API
DEVELOPERS GUIDE
Overall Schema
We provide four key endpoints:
1. /tokens
:
/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
:
/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
:
/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