# Getting Started

## First Steps

mtnAPI is the service layer for transaction requests. To leverage mtnAPI via the QR code approach, it's important to understand that your customers or dApp users need to have a Solana Pay enabled wallet ( Phantom, Glow, FTX, Solflare, etc.) These wallets are built to recognize QR codes with a transaction request URL inside of them.&#x20;

To get started with implementing transaction requests, you will need to generate a QR code in your software with a URL that specifies where to request the desired serialized transaction. ***mtnAPI comes into play when you're ready to create the request URL.***

mtnAPI offers a suite of endpoints that developers can use as the "link" parameter for their Transaction Request string. Each endpoint will request transactions for different use cases.

Once you have an understanding of what type of payment, verification, or redemption functionality you want to provide for your users, take a look at the mtnAPI endpoint descriptions below. When you've found an endpoint that aligns with your use case, simply insert it as the  "link" parameter in your transaction request URL.&#x20;

## mtnAPI Endpoints 🔌

### Pay

Enables developers to perform robust payments on the Solana network.&#x20;

* SOL or SPL Token Payments
* Token Swapped Payments - Powered by [Jupiter Aggregator](https://jup.ag/)
* Token Discounted Payments
* Token Gated Payments

#### See the API Reference [Here](/api-docs/reference/api-reference/pay.md).

### Mint

Enables the developer to provide a “headless mint” via a physical or digital QR code. The Transaction Request will mint an NFT from the provided Candy Machine public key.

#### See the API Reference [Here](#nft-collection-payment-discount).

### Validate

Enables the developer to check if the user is holding an NFT from a specified collection. The transaction will fail if the user does not have the NFT and succeed if they do.&#x20;

#### See the API Reference [Here](#nft-collection-ownership-verification).


---

# 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://mtnpay.gitbook.io/api-docs/getting-started.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.
