# Authentication

The Transactional API over SMPP authenticates each session with a system_id and password carried on the bind PDU. Credentials are issued in the dashboard once SMPP is enabled on the account.

SMPP authentication is per-session, not per-request. The client binds once, authenticates with `system_id` + `password`, and keeps the TCP connection open for the rest of the traffic window.

## Enabling SMPP on your account

Open a ticket to have SMPP enabled on your organization. Once it's on, every `api_sms` token in the dashboard exposes an extra pair of credentials — `systemID` and `password` — for use over SMPP. The HTTP token remains usable in parallel.

## Server endpoint

| Field             | Value                                                                                              |
| ----------------- | -------------------------------------------------------------------------------------------------- |
| Host              | `smpp.instasent.com`                                                                               |
| Port              | `2775`                                                                                             |
| Protocol versions | [SMPP v3.4](https://smpp.org/SMPP_v3_4_Issue1_2.pdf) and [SMPP v5.0](https://smpp.org/SMPP_v5.pdf) |

## Binding

Use `bind_transceiver`, `bind_transmitter` or `bind_receiver` depending on the direction of traffic you need (see [Integration](/transactional-api/smpp/integration)). The required fields are the same on all three.

| Field       | Description                                                 |
| ----------- | ----------------------------------------------------------- |
| `system_id` | SMPP username, as shown next to the token in the dashboard. |
| `password`  | SMPP password, paired with the `system_id`.                 |

Example PDU:

```json
{
  "command": "bind_transceiver",
  "command_id": 9,
  "system_id": "myuser",
  "password": "mypass"
}
```

> **Tip**: Keep sessions long-lived and issue `enquire_link` PDUs periodically to avoid idle disconnects from intermediate firewalls. Re-binding on every message defeats the point of SMPP.

## What's next

- **[Integration](/transactional-api/smpp/integration)** — PDUs supported, sending, concatenation, DLRs, inbound messages.
