Skip to main content
Version: v4 (next)

Credential Monetization

"Pay-Per" Fees

Pay-per-issuance and pay-per-verification trust fees are defined on each Participant entry for each role within the ecosystem, for a given Credential Schema.

Example:

plantuml

Corporations acting as issuers or verifiers for a given credential schema may be required to pay trust fees based on the schema's configuration and Participant tree.

If trust fee payment is required, the entity must execute a transaction in the VPR to pay the appropriate fees before issuing or verifying a credential, else the HOLDER agent will not accept the operation.

Key points for "Pay-Per" business models

  • For a given credential schema, the ecosystem and its participants may define pay-per-issuance (or pay-per-verification) trust fees on their respective Participant entries.

  • In such cases, an ISSUER (or VERIFIER) Participant must pay:

    • the corresponding issuance (or verification) trust fees for each involved Participant entry along the Participant tree;
    • an additional amount equal to the trust_deposit_rate of the calculated trust fees, allocated to the payer's trust deposit;
    • (optional) an amount equal to wallet_user_agent_reward_rate of the calculated trust fees, used to reward the Wallet User Agent that receives or presents the credential;
    • (optional) an amount equal to user_agent_reward_rate of the calculated trust fees, used to reward the User Agent (browser, app...).

Fees denominated in trust units (TUs) are converted to native denom at execution time through the Exchange Rate oracle.

Example with the Participant tree above:

  • Total paid by issuer #C for issuing a credential: (10 + 5) * (1 + user_agent_reward_rate + wallet_user_agent_reward_rate + trust_deposit_rate) = 18.75 TUs
  • Total paid by Verifier E for verifying a credential: (20 + 5 + 2 + 30) * (1 + user_agent_reward_rate + wallet_user_agent_reward_rate + trust_deposit_rate) = 71.25 TUs

Fee Distribution Model

Trust fees are consistently distributed across participants:

  • A portion defined by trust_deposit_rate is allocated to the participant’s trust deposit.
  • The remaining portion is transferred directly to the participant’s wallet.
note

wallet user agents and user agents that implement the verifiable trust specification must verify that the ISSUER or VERIFIER has fulfilled the required trust fee payment.
If not, they must reject the issuance or verification request.

The user agent and wallet user agent may refer to the same implementation.

Distribution example for the issuance by ISSUER #C of a credential, using the Participant tree above, 5% for trust_deposit_rate, 10% for wallet_user_agent_reward_rate and user_agent_reward_rate.

plantuml

Distribution example for the verification by VERIFIER #E of a credential issued by ISSUER #C, using the Participant tree above, 5% for trust_deposit_rate, 10% for wallet_user_agent_reward_rate and user_agent_reward_rate.

plantuml