Skip to content

Tokens

Freebird currently accepts two token families: V4 and V7.

V4 private-verification token

V4 is a bespoke P-256 VOPRF-like construction using the freebird:v4 context. It is not RFC 9497 compatible. The final redemption-token wire format is:

[version(1) | nonce(32) | scope_digest(32) | kid_len(1) | kid
 | issuer_id_len(1) | issuer_id | authenticator(32)]

The client receives an issuer evaluation from /v1/oprf/issue, unblinds it, and constructs the final token. The authenticator is the unblinded result over the issuer ID, key ID, nonce, and verifier-scope digest. The verifier recomputes it with issuer-trusted private verification material.

V7 native bearer token

V7 uses randomized RSA blind signatures. Its canonical body includes the configured asset ID and minor amount, issuer/key identity, a nonce, a 32-byte body nullifier, and an owner commitment. The envelope carries the V7 dispatch version, message randomizer, and RSA signature. The verifier checks the body policy, discovered binding, signature, and inclusive validity window.

V7 direct issuance is exposed at /v7/native-bearer/issue; optional durable exchange and graph issuance are separate V7 operations. See blind issuance.

For security goals, non-goals, and metadata leakage limits, read the threat model.