Skip to main content

How to Verify a Swap Provider and Contract Address

Gem Wallet connects to multiple swap providers. Depending on the route, a swap may interact with a smart-contract router or send assets to a provider-controlled deposit address for processing.

The provider name tells you which integration supplied the route. The contract or deposit address tells you where the source transaction is actually sent. Review both before submitting a swap.

caution

A recognized provider name does not make every address safe. Verify addresses from the Gem Wallet confirmation or transaction details and compare them with an independent, official source when one is available.

Check the Provider Before Confirming​

You can review a quote without submitting it:

  1. Open Gem Wallet and select Swap.
  2. Select the pay and receive assets and their networks.
  3. Enter an amount and wait for a quote.
  4. Open the swap details and note the displayed Provider.
  5. If multiple quotes are available, select the provider row and compare the alternatives.
  6. Review the receive amount, minimum received, network fee, price impact, slippage, and estimated time.
  7. Continue to the confirmation screen but do not select Confirm yet.
  8. Verify the destination or contract shown for the transaction, then cancel if you do not intend to submit it.

Quotes refresh. Recheck the provider and final amounts immediately before confirming because a selected provider can disappear when it no longer returns a valid route.

Verify a Contract-Routed Swap​

Same-chain swaps and some cross-chain routes interact with a router contract. For these routes:

  1. Confirm that the network matches the asset you are paying.
  2. Open the displayed contract or destination address details.
  3. Use the correct blockchain explorer to view the complete address.
  4. Compare the address with the provider's official documentation or verified deployment list.
  5. Check whether the explorer identifies it as a contract and whether its activity is consistent with the expected provider.

Do not trust a contract solely because an explorer shows a readable label. Labels can be missing, outdated, or incorrect, and a malicious address can imitate a provider's name.

Verify the Provider After a Contract Swap​

Gem Wallet records the provider on supported swap transaction details. For a completed or pending contract-routed swap:

  1. Open Activity in Gem Wallet.
  2. Select the swap transaction.
  3. Find the Provider row in the transaction details.
  4. Select the provider row to open the router contract's address details when a contract is available.
  5. Open the blockchain explorer and compare the transaction, contract, asset, and amount with the swap you submitted.

The provider row opens the router stored with a contract-routed swap. It does not necessarily represent every contract called internally by that router.

Understand Deposit-Address Routes​

Some cross-chain providers use a deposit address instead of a router contract. NEAR Intents is one example of a route that can use a deposit address.

For these routes, the transaction details can show the provider name without a selectable provider contract. This is expected when no router contract was stored for the source transaction.

Verify:

  • The exact deposit address on the confirmation screen.
  • The source and destination assets and networks.
  • Any required memo, destination tag, or provider reference.
  • The quoted minimum and expiration conditions.
  • The source transaction ID after submission.

Never reuse a deposit address from an old swap. Request a current quote because the address, amount requirements, route, and validity period may change.

Provider Name vs Contract Address​

These details serve different purposes:

DetailWhat it identifies
ProviderThe integration that returned and processes the selected route.
ContractThe on-chain router or smart contract called by the source transaction.
Deposit addressThe address receiving funds for a transfer-based route.
Transaction IDThe source-chain transaction submitted by your wallet.

A provider may use different contracts on different networks or for different products. Always verify the address for the exact network and route you are using.

Stop Before Confirming If​

Cancel the swap when:

  • The provider changes unexpectedly after the quote refreshes.
  • The contract or deposit address cannot be matched to the route you initiated.
  • The source or destination network is wrong.
  • The approval spender differs from the expected swap contract.
  • The minimum received, fee, price impact, or slippage is unacceptable.
  • A warning identifies a suspicious address or validation error.

For provider comparison, follow How to Select a Swap Provider in Gem Wallet. For token permissions required before a swap, use How to Review a Token Approval Transaction.