> This page is for Afterpay Online Developer, version Main (default).
> For other versions, use one of these documentation indexes:
> - Main (default): https://developers.afterpay.com/afterpay-online-developer/main/llms.txt
> - v1: https://developers.afterpay.com/afterpay-online-developer/v-1/llms.txt
> - Chinese: https://developers.afterpay.com/afterpay-online-developer/chinese/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.afterpay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.afterpay.com/_mcp/server.

# Lockup

`LockupView` shows the Afterpay logo. Use it where you list Afterpay as a payment method or mention Afterpay without a price.

## Add the lockup

```swift
let lockupView = LockupView(colorScheme: .static(.default))
view.addSubview(lockupView)
```

The lockup keeps its aspect ratio, so set its width and let the height follow. Brand guidelines require a width of at least 64 points. The SDK doesn't enforce this, so set the width yourself. The lockup's background is always transparent.

## Color schemes

Outside the US, the lockup is the Afterpay wordmark in a single color, or the Clearpay wordmark for UK merchants. Choose a palette that contrasts with the background behind the lockup:

| Palette      | Lockup | Use it on         |
| ------------ | ------ | ----------------- |
| `.default`   |        | Dark backgrounds  |
| `.darkMono`  |        | Dark backgrounds  |
| `.alt`       |        | Light backgrounds |
| `.lightMono` |        | Light backgrounds |

`.alt` and `.lightMono` look the same.

If your app supports dark mode, use a dynamic scheme so that the lockup stays visible in both appearances:

```swift
lockupView.colorScheme = .dynamic(
  lightPalette: .alt,
  darkPalette: .default
)
```

> **Cash App Afterpay lockup in the US**
>
> For US merchants, the lockup is the Cash App Afterpay lockup, and the palettes are reversed: `.default` and `.darkMono` suit light backgrounds, and `.alt` and `.lightMono` suit dark backgrounds. The Cash App Afterpay brand uses the lockup only. `BadgeView` and `CompactBadgeView` stay hidden when the configuration locale is `en_US`, and they trigger an assertion failure in debug builds.

## Badges

Outside the US, you can show the Afterpay badge instead of the lockup. `BadgeView` shows the badge, and `CompactBadgeView` shows a slimmer badge with less padding around the wordmark. Both take the same `colorScheme` as the lockup. For the badge colors, see [Color schemes](/afterpay-online-developer/guides/sdk/ios-sdk/ui-components#color-schemes).

```swift
let badgeView = BadgeView(colorScheme: .static(.default))
view.addSubview(badgeView)
```