Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceSecurity

LanguageValues and typesStandard typesSecurity

PublicKey

On this page

An Ed25519 public key: 32 bytes as Base64url.

Use it to check a signature with crypto.verify_signature. It isn't secret, so it may be stored and sent. For a token's key from a provider, use Jwk.

Shape

One value, held as text in one set form, with no parts: PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw.

Example

example
PublicKey("11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo")

PublicKey(raw) checks the text, and text that isn't one breaks the format rule.

text.parse(raw, as: PublicKey) reads one from text that comes from outside. Text that isn't one at all fails malformed.

This operation gives one: crypto.public_key.

Good to know

  • == tells you whether two are the same. < and list.sort_by don't take it.

In JSON

A string, in a request, a response or json.write:

json
"11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo""PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw"

Details

Text form, storage, how it is shown, and operations

PublicKey is in the group Security, and has been in Jadpo since 0.1.0.

Text form

text.from writes one standard text form, the same form text.parse reads back: 11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo and PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw.

How it is stored

It is stored in one column named for the field, of type text. PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw is stored as 'PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw'.

How it is shown to people

text.format(value, locale:) shows it to people in their locale.

With locale: Locale.en_gb:

Value Shown
11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo 11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo
PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw PUAXw-hDiVqStwqnTRt-vJyYLM8uxJaMwM1V8Sr0Zgw

Operations

  • crypto.public_key(key: PrivateKey) -> PublicKey: The Ed25519 public key of the PrivateKey setting, which isn't secret: published, others check what the app signs with it.
  • crypto.verify_signature(value: T, signature: Bytes, key: PublicKey) -> Bool: Whether signature is value's Ed25519 signature under key, which is not secret and may be read.

It also takes text.parse, text.from, text.format, json.read, json.write and ==. How every standard type behaves says how they work.

Markdown for agents: /docs/types/type-public-key.md.Built from Jadpo main at aee2e8f.