Wallets & custody

Digital asset custody: map authority and responsibility

Separate observation, approval, signing, recovery, and policy changes before introducing custody responsibilities.

WHO HOLDS THE KEYS? — custody illustration

A digital asset product can display balances, prepare requests, or authorize movements. Those capabilities create different responsibilities. Before choosing an integration, a team should be able to explain who can sign, who can change policy, who can recover access, and what happens when a device or service is unavailable. The answer should be more specific than “the assets are secure.”

This article proposes a custody-responsibility review for product teams. It is not a recommendation to use a particular wallet or custody provider, and it does not evaluate any reader's assets. DigitalAssetAPI.com provides educational material only; it does not hold keys, accept deposits, or recover wallets. The examples below describe planning exercises, not guarantees against loss.

Begin with authority rather than interface labels

Map the actions your product actually needs. A read-only research tool may require public observations but no ability to authorize transfers. A treasury workflow may need preparation, approval, and signing by distinct participants. A consumer application may rely on a separate wallet for authorization. These are different designs even when their screens all include a balance card.

For each action, identify the party with technical authority and the party with operational responsibility. Those may not be the same person or organization. A service can prepare a request without signing it, and an approver can review a request without controlling a key. Documenting those distinctions prevents a broad administrator role from obscuring the actual control model.

Understand the security foundations

Bitcoin.org's wallet-security guidance discusses backups, encryption, offline signing, hardware wallets, software updates, and arrangements requiring multiple signatures. These are separate controls aimed at different failure modes. No single control removes every risk, and the suitability of a particular setup depends on how it is configured and operated.

Read the primary reference

The Bitcoin wallet-security guide is the primary reference for those foundational concepts. The decision framework below is our proposed organizational planning method. It is not a claim that Bitcoin-specific practices transfer unchanged to every network or that following a short article is sufficient to design a production custody system.

Keep observation systems separate from signers

For a read-only application, avoid introducing signing credentials at all. Design the data path so that a compromised dashboard cannot directly authorize a transfer. This does not eliminate privacy or integrity risks, but it narrows the authority available to that component. A system should not hold a powerful credential merely because future features might eventually need it.

Where signing is required, define the communication boundary between request preparation and authorization. The signer should receive enough context to evaluate the intended action. A polished request screen is not sufficient if the actual authorization payload can diverge from what the reviewer saw. Include that consistency check in the design and in the release test plan.

Compare custody models through responsibilities

Rather than ranking models with a universal safety score, create a responsibility matrix. Ask who provisions access, stores signing material, approves changes, manages backups, handles incidents, and communicates with users. Record which responsibilities are internal, outsourced, shared, or unresolved. The matrix should be understandable to both engineers and operational reviewers.

When evaluating a third party, distinguish the service's documented capabilities from your assumptions. A provider's API access does not necessarily include every recovery or reporting capability your application needs. Request evidence for the relevant control, coverage, and escalation process. Do not infer a contractual obligation from a feature label or from a marketing page describing a different service tier.

Design approvals around meaningful separation

In a proposed organizational workflow, the person preparing a movement need not be the person approving it or changing the destination policy. Separation can reduce reliance on a single unchecked action, but only when the implementation genuinely enforces it. Two buttons used by the same unrestricted account do not create independent review.

Define the evidence an approver must see: destination, network, asset identity, amount, relevant fees, request reason, and policy outcome. Preserve the approval's link to the exact request version. If material details change after approval, the system should require a new review rather than carrying the old approval forward as though nothing changed.

Treat recovery as a designed workflow

A recovery plan should identify the failure being addressed. Losing a device, losing access to an account, losing a backup, and losing an authorized operator are not identical scenarios. Define what information or participants are required for each recovery path and how the process avoids granting unauthorized access to somebody claiming an emergency.

Run a controlled recovery exercise with test assets and a documented scope. Do not begin by improvising with production signing material. Record the steps, dependencies, time-sensitive conditions, and points where a human must make a decision. The output should be an operational procedure that another authorized person can follow, not a reassuring statement that recovery exists.

Protect secrets throughout the support process

A support workflow should never ask users to submit recovery phrases or private keys through a contact form, email, chat, or screenshot. Build troubleshooting around safe request identifiers and public transaction references where appropriate. Redact sensitive material from logs and diagnostic exports before making them available to general support staff.

Also examine what happens when a user voluntarily sends a secret. Staff need a clear procedure that does not request additional sensitive information or promise that exposure can be undone. A well-written help page is only one part of the control; templates, escalation tools, and internal training should all reinforce the same boundary.

Review policy changes as sensitive actions

Changing who can sign, which destinations are permitted, or which approvals are required can be as consequential as authorizing an individual movement. Treat those changes as explicit actions with review, version history, and effective dates. Avoid allowing an unrestricted settings screen to bypass the controls that the transfer workflow carefully enforces.

In a fictional treasury exercise, introduce a request to replace an approver and add a new destination during an outage. Ask which parts can proceed, which need independent verification, and which should pause. This reveals whether the incident process preserves control boundaries or quietly suspends them when the team is under pressure.

Prepare for service and network interruptions

Document how the application behaves when an observation provider, approval service, or signing component is unavailable. A missing response should not become a success state. Keep request identifiers stable so the team can reconcile an uncertain submission before retrying. Explain the uncertainty to the user rather than presenting an endless spinner or a generic instruction to start over.

Separate availability from authorization. Restoring a dashboard does not necessarily mean a signing workflow is ready to resume. Use the wallet solution blueprint to map those stages, and the wallet signing UX guide to review the messages users see when the process is interrupted or declined.

Make the responsibility model reviewable

Before launch, ask each responsible team to explain its duties using the same diagram or matrix. Resolve disagreements about key control, policy changes, recovery, and incident communication before adding production capabilities. A system is difficult to operate safely when different teams hold different beliefs about who can authorize the same action.

The wallet UX checklist is a useful companion for the interface layer, but custody planning requires broader technical and professional review. Start with the minimum authority your product needs, keep signing boundaries explicit, and test the recovery and escalation paths. Clear responsibility is not a guarantee of safety; it is a prerequisite for understanding the risks you are taking.

Keep the thread going

Your next useful read.