# Paymaster

Letting users pay the transaction fee is the biggest hurdle while building the consumer-centric app. Paymaster is the feature allowing the app can pay the user's transaction fees on their behalf. Not only just paying, the app can also apply any desired policy to prevent misusing.

## Pay-by-App Policy

This is the most basic paymaster policy. If the app deposits the Native Token of the respective chain ($FLOW) with Hyphen, the deposit is spent to pay for the gas of user transactions.

Apps can have user-specific limit policies (e.g., free up to 5 times per account per month).

## Pay-with-Token Policy *(Coming Soon)*

Users can pay for transaction costs by spending a specific token designated by the app. We swap that token for the chain's Native Token to cover the transaction gas fee.

## Custom Policy *(Coming Soon)*

Based on the Pay-by-App policy, apps can implement their own policy that allows them to filter the users/circumstances they want. Policies such as Pay-with-Token can also be implemented based on this Custom Policy.

The operation is done through a Webhook. When the app specifies an arbitrary Custom Policy Webhook URL, each time a user sends a transaction, Hyphen calls that Webhook to ask if this user can send such a transaction. Apps can implement this Webhook on their own server, allowing them to design a Paymaster that filters specific users or pays transaction costs with tokens/NFTs instead.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hyphen.at/concepts/paymaster.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
