Please contact sales for additional pricing information on using the Swaps integrations at partner@portalhq.io
Portal instance with swaps functionality.
Fetching a list of Sources
ThegetSources() function returns an object containing valid, swappable token sources that can be used with your Portal MPC Wallet. The existing Portal instance that was provided at initialization is used to scope the request to the current chain.
In order to retrieve this list, you can use the following code.
The returned list
The object returned by thegetSources() function is a set of key/value pairs where the key is the name of the token and the value is the token address for that token.
Fetching a swap Quote
ThegetQuote() function returns a Quote object for a given set of arguments.
QuoteArgs
The minimum requirements for a valid set ofQuote arguments are a buyToken, a sellToken, and either a buyAmount or a sellAmount.
An example of a valid QuoteArgs object would look something like this.
Using your QuoteArgs
Once you have a validQuoteArgs object, you can call the getQuote() function.
The Quote object
TheQuote object includes two properties:
allowanceTargetThe address requiring allowances to complete the SwapcostThe total cost (gas fees) of the swap transactiontransactionThe transaction to perform the swap
Executing a Swap
If you’re selling ERC20 tokens, you’ll need to utilize theallowanceTarget to give the associated contract permissions to access a given amount of the token you’re selling. This requires a token allowance of at least what you’re selling. If you’re selling ETH, this step is not necessary.
When you’re ready to execute a swap, you can use the Provider on your existing Portal instance to sign the transaction and make a request to chain.