Skip to main content
A remote transfer key is useless until two things exist: the key, and a spend permission from your smart wallet to the key’s spender wallet. The app does both in one step. The API creates only the key, so the permission is always granted in the app.

Create a key in the app

Open Settings → Remote Transfers in the app and click Create remote transfer key. Give the key a name and set its spending limit — an amount and a period. Confirming does two things:
  1. HEVN issues the key and predicts its spender wallet.
  2. Your wallet signs a spend permission naming that spender wallet, with the limit you set.
The key is shown once. Copy it then: HEVN stores only its hash and cannot show it again. Keep it in a secret store on the machine that uses it, out of repositories, images and logs. To change the limit later, open the key and update its spend permission. Your wallet signs a new permission that replaces the old one.

Create a key with the API

The key-management routes take your app session, not a remote transfer key:
Use this when you need an option the app does not expose — an IP allowlist or a lifetime maxSpend.
200 OK:
key appears in this response only. walletAddress is the spender wallet: open the key in Settings → Remote Transfers and set its spending limit to grant the permission. Until you do, every transfer answers 403 No active spend permission for this API key. Creating a key is refused with 403 in a session where a partner acts for your account. A key is a lasting credential, so only your own session can issue it. HEVN notifies you whenever a key is created.

List keys

The response is an array, newest first. Each item has the fields above without key, plus keyPreview — the first eight and last four characters, such as rsl_Xk2a...9fQe.

Revoke a key

Delete the key in Settings → Remote Transfers. The app revokes the spend permission onchain first, then deletes the key. The API route deletes the key only:
200 OK with {"ok": true}, or 404 API key not found. The deleted key stops authenticating at once, but the spend permission stays onchain until you revoke it. Revoke it in the app too, so no allowance is left pointing at a spender wallet nothing uses. Keys do not expire. Deletion is permanent, and a deleted key cannot be restored — create a new one.

If a key leaks

  1. Delete it in the app. That revokes its permission and kills the key in one action.
  2. Create a new key with a new allowance.
The worst case before you act is bounded by what is left of the allowance in the current period, and by maxSpend if you set one.

Next: API reference

Every route a key can call, with fields, examples and errors.