Integrations

Table of Contents


URI Scheme Standards

Nano wallet clients should support handling of both URI scheme standards: the universal payto: scheme, as well as the original nano: scheme.

Deep links for payment invocation should prefer the payto standard and use the format payto:// rather than payto:.

amount values must always default to RAW units.

For the payto: scheme, other currencies or units may be manually specified (eg XNO, USD, EUR) using the currency option.

Table of Contents


payto: Payment Invocation URI Scheme

The payto: URI scheme, defined in RFC-8905 is a universal standard for designating targets for payments.

Syntax

payto:nano/nano_<encoded_address>/[?][amount=[<currency>:]<raw_amount>][&][receiver_name=<receiver_name>][&][message=<message>]

Note: Clients MUST accept URIs with options in any order.

encoded_address (required)

The recipient's public Nano address MUST be provided, and MUST be encoded using Nano's base32 encoding algorithm.

currency

The 3-letter ISO-4217 currency code (or RAW or XNO). The client SHOULD reference current exchange rates to convert the amount value to the currently corresponding amount in RAW units. If XNO is specified, the client MUST convert the amount value to RAW units.

MUST default to RAW

amount

The amount to transfer. If a currency value is not provided, the client MUST default to RAW units. If XNO is specified, the client MUST convert the value to RAW units.

MUST not occur more than once.

receiver_name

Name of the entity that receives the payment (creditor).

Note: The Nano protocol does not support receiver names. The client may choose to use or ignore this option.

message

A short message to identify the purpose of the payment.

Note: The Nano protocol does not support messages. The client may choose to use or ignore this option.


nano: Payment Invocation URI Scheme

Syntax

nano:nano_<encoded_address>[?][amount=<raw_amount>][&][label=<label>][&][message=<message>]

Note: Clients MUST accept URIs with options in any order.

encoded_address (required)

The recipient's public Nano address. MUST be provided, and MUST be encoded using Nano's base32 encoding algorithm.

amount

MUST not occur more than once. The amount to transfer in RAW units.

label

A short label to identify or organize the transaction.

Note: The Nano protocol does not support receiver names. The client may choose to use or ignore this option.

message

A short message for the transaction recipient.

Note: The Nano protocol does not support messages. The client may choose to use or ignore this option.

Additional nano*: Action Invocation URI Schemes

In addition to payment invocation URI schemes, Nano clients may support the following action invocation URI scheme standards.

Representative change

nanorep:nano_<encoded address>[?][label=<label>][&][message=<message>]

Private key import

nanokey:<encoded private key>[?][label=<label>][&][message=<message>]

Seed import

nanoseed:<encoded seed>[?][label=<label>][&][message=<message>][&][lastindex=<index>]

JSON blob block processing

Sent as the block argument to the RPC call process

nanoblock:<json>

URI Scheme Examples

Payment with address only

payto:nano/nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp

nano:

nano:nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp

Payment with address and amount

payto:nano/nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?amount=1000

nano:

nano:nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?amount=1000

Payment with address and recipient name / label

payto:nano/nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?receiver-name=Developers%20Fund%20Address

nano:

nano:nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?label=Developers%20Fund%20Address

Payment with address, recipient name / label, and message

payto:nano/nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?receiver-name=Developers%20Fund%20Address&message=Donate%20Now

nano:

nano:nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?label=Developers%20Fund%20Address&message=Donate%20Now

Payment with address, amount, recipient name / label, and message

payto:nano/nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?amount=1000&receiver-name=Developers%20Fund%20Address&message=Donate%20Now

nano:

nano:nano_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?amount=1000&label=Developers%20Fund%20Address&message=Donate%20Now

Representative change

nano:

nanorep:nano_1stofnrxuz3cai7ze75o174bpm7scwj9jn3nxsn8ntzg784jf1gzn1jjdkou?label=Official%20Rep%202&message=Thank%20you%20for%20changing%20your%20representative%21

QR Code Standards

QR codes should also be clickable deep links using the payto:// URI scheme, or the corresponding nano action URI scheme.