# Verticals A **vertical** is a domain-specific class that groups related operations — one per area of XRPL functionality. Each vertical's methods are the *business-intent verbs* for that domain (`token.issue(...)`, `iou.transfer(...)`), and each vertical is reached off the client under a lowercase name (`client.token`, `client.iou`). The term contrasts with *horizontal* operations that cut across domains, such as payments and batch transactions. Most vertical methods submit a transaction and resolve to a `Promise>`, where `T` is the method's typed intent output; they also accept an optional second argument to target a non-primary account and override the fee. (A few helpers differ — for example, `Account.create` generates a keypair and returns synchronously.) Each vertical's page lists its methods; every method has its own page with parameters, response, and the underlying XRPL transactor(s). | Vertical | Reached as | What it does | | --- | --- | --- | | [XRP](/docs/simplexrpl/references/verticals/xrp) | `client.xrp` | Native XRP payments, and DEX orders with XRP as the base asset. | | [Token](/docs/simplexrpl/references/verticals/token) | `client.token` | Issue and manage [Multi-Purpose Tokens (MPTs)](https://xrpl.org/docs/concepts/tokens/fungible-tokens/multi-purpose-tokens). | | [IOU](/docs/simplexrpl/references/verticals/iou) | `client.iou` | Issue and manage trust line-based issued currencies, and place DEX orders in them. | | [Credential](/docs/simplexrpl/references/verticals/credential) | `client.credential` | Issue, accept, and delete on-ledger [credentials](https://xrpl.org/docs/concepts/decentralized-storage/credentials). | | [Domain](/docs/simplexrpl/references/verticals/domain) | `client.domain` | Create, update, and delete [permissioned domains](https://xrpl.org/docs/concepts/tokens/decentralized-exchange/permissioned-dexes). | | [Account](/docs/simplexrpl/references/verticals/account) | `client.account` | Account creation, funding, and administration. | Note Where a vertical's natural class name would collide with a type, the class is suffixed — the Account vertical's class is `AccountVertical` — but it is still reached as `client.account`.