Approve from another device
Sign an approval on one device, move it as a signed file, and submit it from another device that holds a broadcaster wallet.
Where: Approvals (both devices) · You need: an account with a Signed approval path configured, the approver's wallet on a second device, a broadcaster wallet
Scenario
The approver's laptop is not the browser where the request was created, or the approver signs on an air-gapped machine that is never online. A Signed file (.bloxmeta.json) carries the signed approval from the approver to whoever submits it. No sign-in and no relay is needed. The payload never travels in a URL.
Think of the file as an authorize → broadcast handoff: the approver authorises, the broadcaster broadcasts.
Who is involved
Requester's browser
Treasury Requester 0x8C4e…21bB
Creates the request
Approver's device
Treasury Approver 0xD27a…f9E3
Signs the approval and exports the file
Broadcaster's device
Broadcaster 0x5E60…c7D1
Imports the file and executes
Time: about 15 minutes.
Before you start
The action must have a Signed approval path with the approver's role on the Approval step and Broadcaster on Execute (see Team treasury, Phase 4).
Each device needs the account open. Share the account link (Share → Copy open link) or import the account by address on each device. Reading works without a wallet.
Steps
1. Requester creates the request
Select New request → Transfer, fill in asset, amount and an allowlisted recipient.
Select Submit request with the Wallet method and confirm. The request is posted on-chain and appears in Approvals as Awaiting Approval.
2. Approver signs on their own device
On the approver's device, open the account and go to Approvals. The request is there because it lives on-chain.
Open the row. In Approve request, switch the toggle to Sign and select Approve. Sign in the wallet. The dialog shows how long the signature stays valid (for example Meta-tx expires in 1h).

Open Approvals, switch to the Approved tab and open the signed item. In the Signed transaction dialog choose Share to another device. The Share signed request dialog opens. Read the notice and tick I understand that anyone who receives this file and can submit may broadcast it until it expires or is used.
Select Download to save the
.bloxmeta.jsonfile (or Copy JSON if you will paste it).

3. Move the file
Transfer the file to the broadcaster's device over a channel you trust: a USB stick for an air-gapped signer, or an end-to-end encrypted message. Do not post it publicly.
4. Broadcaster imports and executes
On the broadcaster's device, open the account, go to Approvals and select Import signed file.
Drop the file, or select Paste JSON instead and paste the content.
Review the preview. It decodes the operation, amount and recipient. The heading reminds you to Treat this like a signed check.

Select Add to Approved. The item appears on the Approved tab.
Open it and select Execute with the broadcaster wallet connected. The broadcaster pays gas.
Confirm Executed in History.
Safety rules
A signed file is a bearer instrument. See Safety rules.
If the signature expired
Every signed approval carries an expiry. If the Approved row reads Expired. Execution disabled. Delete this invalid entry.:
Select Delete on the broadcaster's device.
Ask the approver to open the same request in Approvals and sign again. The on-chain request is still pending; only the signature was time-limited.
Move the new file and repeat step 4.
If the underlying request has itself been cancelled or already executed, the row shows that state instead, and no new signature is needed.
Checklist
Related
Last updated
Was this helpful?