> For the complete documentation index, see [llms.txt](https://mtnpay.gitbook.io/api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mtnpay.gitbook.io/api-docs/getting-started.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://mtnpay.gitbook.io/api-docs/getting-started.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
