> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.imbawallet.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IMBA Partner API

> B2B HTTP API for USDT settlement, cards, eSIM, and gift cards.

# IMBA Partner API

IMBA Partner API is a server-to-server HTTP API for B2B integrators. Your backend manages a USDT settlement balance and issues products (virtual cards, eSIM, gift cards) to **your** end customers.

End users do **not** log into IMBA Wallet and do not receive a client JWT. All calls use your partner access token.

|             |                                                         |
| ----------- | ------------------------------------------------------- |
| **API**     | `https://api.imbawallet.com`                            |
| **Docs**    | `https://api-docs.imbawallet.com`                       |
| **Support** | [support@imbawallet.com](mailto:support@imbawallet.com) |

## Capabilities

| Area       | What you can do                                                                      |
| ---------- | ------------------------------------------------------------------------------------ |
| Money      | Read balance, sticky USDT TRC-20 deposit address, withdraw USDT, pull reconciliation |
| Cards      | Tenant catalog, issue, get (JWE), balance, top up, freeze                            |
| eSIM       | Offers, purchase, top up, get activation (LPA)                                       |
| Gift cards | Offers, purchase, get receipt (code / epin)                                          |
| Ops        | Poll by `ext_id`, HMAC webhooks for terminal statuses                                |

## How integration works

```
Your server
  │  1. Sign short-lived assertion JWT (Ed25519)
  ▼
POST /auth/v1/partner/token
  │  2. Receive access_token (900s)
  ▼
GET|POST https://api.imbawallet.com/partner/...
  │  3. Authorization: Bearer <access_token>
  ▼
IMBA processes async work → webhooks + GET documents / products
```

## Start here

<CardGroup cols={2}>
  <Card title="Quickstart" href="/guides/quickstart" icon="rocket">
    Token → balance → deposit address in minutes
  </Card>

  <Card title="Authentication" href="/guides/authentication" icon="key">
    Ed25519 assertion, scopes, isolation
  </Card>

  <Card title="Webhooks" href="/guides/webhooks" icon="bell">
    HMAC signature and event catalog
  </Card>

  <Card title="API reference" href="/api-reference/overview" icon="code">
    Full OpenAPI endpoint list
  </Card>
</CardGroup>

## Onboarding checklist

IMBA issues for your tenant:

1. `partner_id`
2. Ed25519 credential (`kid` + registered public key) and scopes
3. Webhook URL + HMAC secret (you provide the URL and secret)
4. X25519 public key for card JWE (recommended / default)
5. Enabled products (card products, eSIM/gift catalogs as agreed)

You never send `partner_id` in the request body or URL — it comes only from the verified access token.
