Skip to main content

Supported Devices

Chastify supports direct Bluetooth control for QIUI and Lockink devices. Each brand has a different security model, feature set, and setup flow.

Platform Support

PlatformSupported
Android app✅ Fully supported — persistent background connection
Web BLE on Android browsers✅ Supported
Web BLE on iOS browsers⚠️ Limited — iOS browsers restrict Bluetooth access, reliable connections are not guaranteed
iOS app❌ Not available

For the best experience, use the Android app. It keeps your device connected in the background and receives keyholder commands automatically.

Note: iOS Bluetooth limitations are caused by Apple's restrictions, not Chastify. Please do not report iOS connection issues or contact Support for iOS device troubleshooting.

Bluetooth Connectivity Support

Bluetooth connections depend on your phone hardware, the physical environment, and the device itself. Because of this, Support chat can only offer limited help with Bluetooth connectivity problems — most issues need to be resolved on your end by moving closer to the device, restarting Bluetooth, or relaunching the app. Please do not contact Support for general connectivity troubleshooting. Only reach out if you suspect a bug in Chastify is causing the problem.

Troubleshooting

If a device does not connect, does not appear in the Bluetooth picker, or fails during lock/unlock, see Device Connection Troubleshooting.

QIUI Devices

Supported models: Cagink.metal.shake, Cagink.metal, Keypod 1, and Cagink Pro 3.

QIUI devices use a high-security binding flow. Once a device is bound in Chastify, the QIUI app cannot unlock it during an active session.

Setup Options

You can add a device using the website or the Android app.

  • Website (Web BLE): The connection only stays active while the browser tab is in the foreground. Once the tab goes to the background, the connection drops.
  • Android app: Keeps a persistent background connection to your device. This is the recommended option for reliable control.

Note on Web BLE pairing: The browser may not show your device's real name — only a generic ID. Enabling chrome://flags/#enable-experimental-web-platform-features can help expose the Bluetooth MAC address through manufacturer data, but this is not guaranteed to work on all devices.

Setup Steps

  1. Open Device Setup in Chastify.
  2. Select your QIUI device.
  3. Follow the pairing instructions.
  4. Confirm the device status in the dashboard.

Unpairing a Device

To unbind a device and return to using the QIUI app, click the remove icon on the device card. Because there is no official unpairing API, this process is semi-automatic and can fail in rare cases.

If unpairing fails:

  • Wait 60 seconds, then try again.
  • If it fails a second time, submit a manual admin task for assistance.

Shock and Vibration

  • Cagink.metal.shake supports vibration.
  • Cagink Pro 3 supports shock.

Card games include shock cards and "Shock on Red" — these trigger a maximum-strength shock or vibration when drawn, as long as the device is connected via the Android app or an active browser session. Make sure the device shows as connected in the app menu for reliable delivery.

Keyholder Shocks

When the Android app connects or disconnects, it notifies the keyholder dashboard. The keyholder can open the shock/vibration controls from the device avatar.

  • Shock duration ranges from 30 seconds to 10 minutes.
  • Sending the same command multiple times has no additional effect — duplicates are ignored.
  • Controls become available again once the timer ends.

When the wearer's Android app receives a shock command in the background, it executes immediately on the device.

Safety

Wearers can stop shocks or vibration at any time by disconnecting the device in the app menu or powering the device off.

Lockink Devices

All Lockink Bluetooth-controllable devices are supported for lock and unlock commands. Only Lockink Beesting supports shock commands, matching the behavior of the official Lockink app.

How Lockink Differs from QIUI

Lockink devices are controlled directly over Bluetooth — Chastify writes commands straight to the device. This means the Lockink app can still unlock the cage at any time, since there is no server-side binding.

Lockink App Blocker (Android)

To help prevent accidental unlocking, Chastify includes an optional Lockink App Blocker on Android. It uses an accessibility service to block the Lockink app while active. You can enable persistent monitoring to prevent uninstall or tampering. The blocker can be disabled at any time and is not currently enforced during an active lock session.

Note: Some banking apps may refuse to open when an accessibility service is running. If this happens, disable the blocker temporarily.

Keep Alive System

When enabled, the Keep Alive system prevents the device from going to sleep by writing commands to it periodically.

Normally, Lockink devices go to sleep after only around 3 minutes without a shock being active. Cellmate Pro 3 has around 1 hour of standby time.

Battery Optimization Warning

Battery optimization is the most common reason Keep Alive fails.

Any Android OEM system that restricts battery usage or background execution for handler services / WorkManager jobs can prevent the Keep Alive system from running reliably. If those background tasks are blocked, the app may not send the periodic commands needed to keep the device awake.

This feature is currently only tested on Samsung phones, where the app requests an exception to battery optimization. User experience on other Android vendors is not yet tested.

Support

Please do not report Keep Alive compatibility problems to Support chat. If you have feedback about it, make a feedback post instead.

Troubleshooting Keep Alive

On the Android app:

  1. Open the mobile menu.
  2. Tap View debug logs.

Expected log sequence:

I Lockink keep-alive scheduled for lockink-aa-a1012. Next execution at approximately: 09:26:09
I Lockink keep-alive executing for lockink-aa-a1012
D Lockink keep-alive start frame=AA09060000040100...
D Lockink keep-alive stop frame=AA09060000000000...
I Lockink keep-alive shock sent successfully for lockink-aa-a1012

If it fails because the device disconnected, you will usually see:

GATT DISCONNECTED

You can use the scheduled execution time in the log to pinpoint when Keep Alive should have run, then inspect the logs around that timestamp to see whether it actually executed or failed.

For easier debugging, open a desktop browser, go to Support chat, and click Upload logs. After that, you can inspect the log file yourself on a larger screen.

Shock Configuration

You can configure shock settings separately for QIUI and Lockink devices.

These settings are used for game-triggered shocks, including Card Game, Wheel, and Typing Tasks. By default, keyholder-initiated shocks are also capped by the maximum shock level you configure here.

There is also a separate keyholder shock policy. During an active session, you can enable Allow Max to let keyholder-initiated shocks use maximum strength for the rest of that session.

Once Allow Max is enabled during an active session, it cannot be switched back until the session ends.

Setup Steps

  1. Open Device Setup in Chastify.
  2. Select your Lockink device.
  3. Pair and confirm the device status.