Skip to content

[proposal] add date and name parameters to wallet URI specification #10168

@hbs

Description

@hbs

NOTE: This is a copy of the original issue filed for meta. Since PR #9992 the wiki is no longer the reference for the URI scheme definition.

The current wallet URI specification allows to specify a restore height or a set of tx ids to scan when defining a wallet.

This proposal suggests to add third possibility to restore a wallet by specifying a start date for restoration.

This feature is available in almost all Monero wallet software, whether on desktop or mobile. The wallet birthday is also part of the polyseed mnemonic scheme.

The date from which to restore the wallet could be specified either as a date in ISO 8601 format (YYYY-MM-DD) or as a number of elapsed seconds since the Unix Epoch. The presence of a hyphen in the value would help software decide whether it is a date or a number of seconds being specified.

This proposal suggests to use the query parameter date to specify the restore date.

This proposal also suggests to add to the wallet URI specification an optional name to give to the wallet. This name could then be used as a default value for the wallet naming field which exists in most tools.

The proposal suggests to use the URI fragment to specify the wallet name, in a similar way to how tx_description is specified for the transaction scheme, though the table describing the elements of the TX scheme are contradicted by the example which specifies tx_description as a query parameter and not as the URI fragment.

The final table for the wallet definition scheme would be:

Parameter Type Kind Requires Description
address String path view_key Raw (95-character) address
spend_key Hex String query address, view_key Private spend key of a wallet.
view_key Hex String query address, absence of seed Private view key of a wallet.
seed String query absence of view_key URL encoded mnemonic seed to restore a deterministic wallet.
height Long query Absence of txid and date Block height when the wallet was created.
txid String query Absence of height and date Transaction ID(s) to scan. Multiple transaction IDs can be provided if separated by a semicolon (;).
date String query Absence of height and txid Date when the wallet was created, in ISO 8601 format (YYYY-MM-DD) or as a number of seconds elapsed since the Unix Epoch.
name String fragment address Name to give to the wallet.

These are valid example of a wallet definition URIs:

monero_wallet:467iotZU5tvG26k2xdZWkJ7gwATFVhfbuV3yDoWx5jHoPwxEi4f5BuJQwkP6GpCb1sZvUVB7nbSkgEuW8NKrh9KKRRga5qz?seed=python%20runway%20gossip%20lymph%20hills%20karate%20ruined%20innocent%20ought%20dual%20shipped%20shipped%20sushi%20pyramid%20guys%20entrance%20obedient%20natural%20kiwi%20wobbly%20vixen%20wipeout%20template%20typist%20innocent&height=12345676#My%20Wallet
monero_wallet:467iotZU5tvG26k2xdZWkJ7gwATFVhfbuV3yDoWx5jHoPwxEi4f5BuJQwkP6GpCb1sZvUVB7nbSkgEuW8NKrh9KKRRga5qz?spend_key=029c559cd7669f14e91fd835144916009f8697ab5ac5c7f7c06e1ff869c17b0b&view_key=afaf646edbff3d3bcee8efd3383ffe5d20c947040f74e1110b70ca0fbb0ef90d&date=2025-05-15#Monero-Wallet

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions