Chain-agnostic deposits for DeFi protocols.
Users fund a position from whatever they hold, wherever they hold it. Halliday bridges, swaps, and delivers the exact asset your contracts accept, in one confirmation.
50+ chains supported today
Deposits to DeFi protocols, funded from any chain. Users bring assets from more than 50 networks across EVM, Solana, Tron, and Bitcoin through one SDK integration.
See all supported chains ↗Every way a user can fund a position, in one flow.
Halliday quotes the available paths for each user and ranks them by highest output and lowest latency.
Users bring ETH, USDC, or other tokens from any supported chain. Halliday bridges and swaps into the asset your protocol accepts, on the chain it lives on.
Users pay from a Coinbase, Binance, or other centralized exchange balance. Halliday handles the withdrawal, bridging, and swap into the deposit asset.
First-time users buy in with debit and credit cards, bank transfers, Apple Pay, and Google Pay through onramp providers, shown by location.
Users already holding the deposit asset on your chain send it directly, with a QR code for mobile wallets.
How a protocol deposit works
- 01User clicks deposit in your app
The Halliday widget opens inside your page or webview. No redirects, iframes, or popups.
- 02Halliday quotes and routes
Bridges including Circle CCTP and Stargate, DEXs, exchange withdrawals, and onramps are compared in real time. The user confirms once.
- 03The exact asset lands where you choose
Set the destination per payment: your protocol's deposit contract or the user's account address, or the user's own wallet on your chain.
Deposits that land in your contracts, not just a wallet.
The SDK widget is a complete deposit and withdrawal UI for your protocol's front end on web and in mobile webviews. The headless API is for protocols that want funding inside their own position and vault screens.
- 01Create an account and get an API key
Sign up at dashboard.halliday.xyz. Get a free API key instantly.
- 02Confirm your deposit asset is supported
Halliday supports any token on any supported chain. If your asset needs a specific liquidity source such as a DEX pool or mint contract, the Halliday team can add it quickly.
- 03Choose where deposits land
Pass a destination address per payment: your deposit contract, the user's account address, or the user's own wallet on your chain.
- 04Drop in the widget or call the API
The JavaScript SDK mounts the widget in a container element with a few lines of code. Or use the REST API to quote, create, and track payments behind your own UI.
- 05Subscribe to webhooks and go live
Receive an event on your server when orders complete so positions update the moment funds are delivered. One agreement covers every rail, provider, and market.
Deposits for DeFi protocols, answered.
More details in the Halliday documentation.
Can users deposit into our protocol from another chain?
Yes. A user with tokens in a wallet on any supported chain confirms once, and Halliday's routing network bridges and swaps into the asset your protocol accepts, on your chain. Routes are compared across bridges including Circle CCTP and Stargate and across DEXs, and ranked by highest output and lowest latency.
Can Halliday deliver directly into our deposit contract?
Yes. The destination address is set per payment, so it can be your protocol's deposit contract or the user's account address. It can also be the user's own wallet on your chain if you prefer users to deposit themselves.
Does bridging rely on liquidity pools or native USDC bridging?
Halliday supports several bridges including Circle CCTP. Depending on the destination token, a supported bridge is included in the quoted route. Quotes are ordered by highest output first.
Does Halliday support withdrawals from our protocol?
Yes. Users can move all or part of their withdrawn balance to their own wallet, to a centralized exchange deposit address, or offramp to fiat. For example, proceeds withdrawn from your protocol can land as USDC in a wallet on any other supported chain, because swapping and bridging are built into the withdrawal widget. Withdrawals can be sourced from a smart contract wallet, embedded wallet, smart account, or EOA.
Can users exit a position to fiat?
Yes. After withdrawing from your protocol, users can offramp to a bank account through supported offramp providers in the same widget. Payout methods and availability depend on the user's location and the provider.
Can users buy into our protocol with a card?
Yes. Halliday connects global onramp providers. The purchased asset is bridged and swapped into your deposit asset automatically, so first-time users see one purchase.
Can users deposit from Coinbase or another exchange?
Yes. Any centralized exchange that can send major tokens such as USDC to an external address works with Halliday. The withdrawal can land on a different chain and Halliday routes the rest of the way to your protocol.
Is Halliday custodial?
No. Each deposit starts at a deposit address controlled only by the owner address specified in the API call, and delivery goes straight to your deposit contract or the user's address. Halliday never holds user funds, and a stalled payment can be recovered or retried by the owner.
What does Halliday need to support our deposit asset?
The token contract address, symbol, chain, specific liquidity sources such as DEX pool addresses or mint contract addresses, an icon, and applicable bridge contracts if cross-chain routing is required.
Supported chains and tokensDoes the Halliday widget work on mobile?
Yes. The SDK widget runs in desktop web, on iOS and Android, and with React Native. Protocols with their own front end can use the Halliday API, which works the same on every platform.
Read the docs