# Welcome to DevPayr

Welcome to the official DevPayr documentation — the home of everything you need to build, ship, secure, and enforce payment for your software… without losing sleep, hair, or your sanity.

Whether you're a **developer**, a **designer shipping client dashboards**, a **freelancer tired of unpaid invoices**, or a **startup that wants smarter software licensing**, you're in the right place.

DevPayr gives you the tools to **license your projects**, **validate usage**, **restrict environments**, **activate or suspend licenses**, and even **kill-switch unpaid deployments**.\
Think of it as your friendly neighbourhood bouncer — politely checking everyone’s ID before they enter your app.

#### What You’ll Find Here

Use this documentation to learn how to:

* Create and manage your projects
* Issue licenses to your customers
* Validate licenses from your backend, frontend, or mobile apps
* Enforce domain, device, and IP restrictions
* Integrate DevPayr using SDKs
* Handle webhooks and automate your workflow

Basically, if DevPayr does it — it’s written here.

#### Who DevPayr Is For

Short answer: **everyone who builds digital products.**

Longer answer:

* **Developers** building SaaS, APIs, themes, plugins, or internal tools
* **Designers** delivering UI kits or frontend templates
* **Agencies & freelancers** shipping projects (and want to enforce payment when clients “forget”)
* **Startups** looking to license software, control environments, or reduce abuse

If your work touches code or deploys to production, DevPayr is your new best friend.

At DevPayr, we believe technical documentation should be:

* **Clear** (because confusion is expensive)
* **Friendly** (because you're probably debugging at 2 AM)
* **Human** (because robots shouldn't write docs… even though one is helping you right now 👀)
* **Helpful** (because deadlines exist)

So expect simplicity, clarity, and the occasional smile.

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4><i class="fa-bolt">:bolt:</i></h4></td><td><strong>Quickstart</strong></td><td>Get your first project licensed in minutes.</td><td></td><td></td><td><a href="getting-started/quickstart">quickstart</a></td></tr><tr><td><h4><i class="fa-folder">:folder:</i></h4></td><td>Projects &#x26; Setup</td><td>Learn how DevPayr organizes your apps.</td><td></td><td></td><td><a href="getting-started/creating-your-first-project">creating-your-first-project</a></td></tr><tr><td><h4><i class="fa-key">:key:</i></h4></td><td>API Keys</td><td>Generate and use your keys safely.</td><td></td><td></td><td><a href="getting-started/getting-api-keys">getting-api-keys</a></td></tr></tbody></table>

#### Tip for New Users

{% hint style="info" %}
DevPayr works across any language that can make an HTTP request. PHP, JS, Python, Go… if it has the internet, DevPayr speaks it.
{% endhint %}

Here’s how your validation call might look in Javascript:

```js
import { DevPayr } from '@xultech/devpayr';

DevPayr.bootstrap({
  license: 'your-license-key-here',
  secret: 'your secrete key', // for injectables
  base_url: 'https://api.devpayr.com',
  action: 'boot',
  injectables: true,
  onReady: (response) => {
    console.log('✅ License Valid:', response);
  },
  invalidBehavior: 'modal', // or 'redirect', 'silent', 'log'
});
```
