> For the complete documentation index, see [llms.txt](https://hydro.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hydro.gitbook.io/docs/snowflake/payments-in-snowflake/resolver-initiated-via-payments.md).

# Resolver-Initiated Via Payments

In addition to facilitating direct HYDRO transfers between users, Snowflake facilitates indirect payments which undergo arbitrary logic prior to completion in the form of `via` contracts. `Via` contracts route a HYDRO token transfer through a smart contract before executing a function at an end destination. As with direct payments, this can occur between `EINs`, `addresses`, and Resolvers. Resolver-initiated `Via` functions can only be performed with Allowances set by an `EIN` for a Resolver.

Custom `via` contracts can be written using the Building a Via Contract section of this documentation.<br>
