Skip to main content
Version: Next

AXONE Verifiable Credential Contract (axone-vc)

The AXONE Verifiable Credential contract attaches verifiable credential capabilities to a resource represented by an Abstract Account (AA).

It is the AXONE contract responsible for binding a credential authority to that resource and structuring the credential lifecycle around submission, revocation, suspension, reinstatement and verification.

It targets credentials represented as RDF datasets.

Authority

The contract exposes the identifier of the credential authority through the Authority query.

This identifier is the DID of the resource bound to the host Abstract Account for this VC capability.

The current representation uses the did:pkh method and is grounded in the on-chain address of the host Abstract Account, rendered as a CAIP-compatible canonical Cosmos Bech32 account address.

Form:

did:pkh:cosmos:<chain_id>:cosmos1...

InstantiateMsg

Instantiate message.

Instantiating this app attaches a verifiable credential authority to the resource represented by the host Abstract Account.

This contract requires no caller-provided configuration.

variantdescription
InstantiateMsgobject. Instantiate message.

Instantiating this app attaches a verifiable credential authority to the resource represented by the host Abstract Account.

This contract requires no caller-provided configuration.

ExecuteMsg

Execute messages.

ExecuteMsg::issue_credential

Issue a verifiable credential from this authority.

Only the app authority is allowed to call this message.

The submitted payload must match the declared format and must describe exactly one credential that satisfies the contract invariants.

The credential is accepted only if it provides: - an identifier - either no issuer or an issuer equal to the authority DID exposed by this contract - an issuance date - a subject identifier - at least one type, including VerifiableCredential

The submitted payload may omit the issuer. In that case, the contract treats the credential as issued by its authority DID.

Issuance fails if the payload format is not supported, if the credential representation cannot be interpreted according to that format, or if a credential with the same identifier has already been issued by this authority.

parameterdescription
issue_credential_(Required.) _ object.
issue_credential.credential_(Required.) _ Binary. Serialized credential payload.

The expected binary encoding and semantic representation are determined by the format field.
issue_credential.formatCredentialInputFormat|null. Encoding used by the submitted credential payload.

Defaults to n_quads when omitted.

QueryMsg

Query messages.

QueryMsg::authority

Return the DID of the credential authority attached to this contract.

This identifier is the authority identity recognized by the contract for issuing and managing credentials on behalf of the attached resource.

The returned DID uses the did:pkh method and is grounded in the on-chain address of the host Abstract Account, rendered as a CAIP-compatible canonical Cosmos Bech32 account address.

Form:

did:pkh:cosmos:&lt;chain_id&gt;:cosmos1...

parameterdescription
authority_(Required.) _ object.

MigrateMsg

Migrate message.

Reserved for future migrations.

MigrateMsg::MigrateMsg

Migrate message.

Reserved for future migrations.

parameterdescription

Responses

authority

Response returned by AxoneVcQueryMsg::Authority.

propertydescription
did_(Required.) _ string. The authority DID recognized by this contract.

This representation uses the did:pkh method over the on-chain address of the host Abstract Account, rendered as a CAIP-compatible canonical Cosmos Bech32 account address.

Form:

did:pkh:cosmos:&lt;chain_id&gt;:cosmos1...

Definitions

Binary

A string containing Base64-encoded data.

type
string.

CredentialInputFormat

Supported credential input encodings.

variantdescription
undefinedstring: n_quads. UTF-8 RDF dataset serialized as N-Quads.

N-Quads extends N-Triples to represent RDF datasets by allowing an optional fourth term that carries the graph name. See the N-Quads specification.

undefined

UTF-8 RDF dataset serialized as N-Quads.

N-Quads extends N-Triples to represent RDF datasets by allowing an optional fourth term that carries the graph name. See the N-Quads specification.

literal
"n_quads"

Rendered by Fadroma (@fadroma/schema 1.1.0) from axone-vc.json (d6a66ab44dc4de1f)