- where the validation result must be published
- who is allowed to validate the work
- which job and payment the result belongs to
- which score and result tag are acceptable
PENDING_VALIDATION, and the signed conditions cannot be changed afterward
without invalidating the payer’s authorization.
Why payment needs an outcome layer
A normal payment authorization answers a narrow question:Did this payer authorize this amount, asset, and recipient?That is sufficient when the parties agree that the obligation should become payable immediately. It is not always sufficient for autonomous work. An agent may be buying a dataset, generated artifact, completed workflow, verified computation, model evaluation, or time-sensitive response. In those cases, the buyer may want the payment decision to depend on evidence about the result. Without a validation policy, the payment system can prove authorization and settlement but cannot determine whether:
- the requested job was completed
- the output belongs to the correct request
- a required evaluator approved it
- a measurable quality threshold was reached
- a required result category was published
V1 payment versus a V2 SLA
V1 and V2 guarantees use the same collateral-backed payment foundation. The difference is when the obligation becomes payable.How a configurable SLA works
The SLA is agreed before the payer signs. This prevents either side from changing the success criteria after work has started. The validation registry does not rewrite the agreement. It publishes evidence. The protocol compares that evidence with the policy the payer already signed.The validation policy
A V2 policy contains several independent checks. Together, they answer where the evidence comes from, who produced it, what it refers to, and what result is good enough.Registry and network
validation_registry_address identifies the contract that acts as the source
of validation evidence. Core accepts only registries trusted by the active
deployment.
validation_chain_id prevents evidence from a similarly addressed contract on
another network from satisfying the policy. It must match the Core deployment’s
chain.
The active network and registry allowlist are available from
GET /core/public-params. A proposed
registry that is not in trusted_validation_registries is rejected before
collateral is locked.
Validator identity
validator_address and validator_agent_id identify the evaluator whose
result the payer accepts.
This matters because two validators can inspect the same work and reach
different conclusions. Selecting the validator is therefore part of the
economic agreement, not an implementation detail.
A validator may be:
- an independent evaluation agent
- a deterministic verification service
- an application-specific assessor
- a registry-recognized reviewer
- a system that checks an on-chain or cryptographic outcome
Subject, request, and job binding
Hashes connect validation evidence to the exact work covered by the payment. They prevent a successful result for one task from being reused for another.Score threshold
min_validation_score defines the lowest acceptable score from 1 through 100.
The meaning of that score comes from the validator’s published methodology.
A score of 90 is useful only when everyone knows what is being measured. It
might represent accuracy, policy compliance, completeness, similarity,
confidence, or a composite evaluation. The number alone does not define the
metric.
Good score policies state:
- which evaluator produces the score
- which rubric and version are used
- whether the score is deterministic
- how invalid or missing outputs are scored
- whether the threshold is inclusive
- whether evaluation can be reproduced
Required result tag
required_validation_tag identifies an acceptable result category. Examples
might include completed, verified, policy-compliant, or an
application-defined versioned label.
Tags should have stable, documented meanings. Prefer values such as
schema-valid-v2 over a generic value such as good. Versioning a tag is
helpful when the evaluation rubric changes over time.
The registry result must match both the required tag and the other signed
conditions. A matching tag from the wrong validator does not satisfy the SLA.
What can be expressed as an SLA
The best SLA conditions can be reduced to observable evidence.Strong candidates
Weak candidates
An SLA is more than a score
A robust policy answers five questions before payment:- What is being evaluated? Define the job and subject precisely.
- Who evaluates it? Select a validator with an understood methodology.
- Where is the result published? Use a registry trusted by the deployment.
- What counts as success? Set an explicit score, tag, or both.
- What happens if validation never resolves? Define timeout, cancellation, retry, support, and collateral expectations outside the score itself.
SLA strength and trust
Validation replaces one broad trust assumption with several narrower ones. The result is only as meaningful as the full chain:- the payer understood the policy before signing
- the registry is the intended contract on the intended network
- the validator controls the expected identity
- the evaluator measured the intended subject
- the job and request hashes were constructed correctly
- the score and tag have stable semantics
- the lifecycle applies the result to the correct guarantee
Buyer, seller, and validator responsibilities
Buyer
The buyer authorizes both the payment and its validation conditions. Before signing, the buyer should check the amount, recipient, asset, registry, validator, job, threshold, and tag. The buyer should also decide whether the selected evaluator is independent enough for the value and risk of the task. For high-value work, a seller-owned validator may not provide the assurance the buyer expects. Buyer policy can limit approved registries, validators, SLA templates, score thresholds, task values, and maximum time that collateral may remain committed. See trust and verification for the surrounding seller-selection decision.Seller
The seller proposes clear validation requirements, performs the work, preserves delivery evidence, and ensures the validator can evaluate the result. The seller should not treat an issued V2 certificate as immediately payable. It proves that Core accepted the collateral-backed guarantee and its signed policy. The guarantee still begins inPENDING_VALIDATION.
For support and reconciliation, retain the request ID, guarantee ID, job hash,
input and output commitments, timestamps, validator details, registry result,
and settlement status. Privacy-sensitive systems can retain hashes and minimal
metadata instead of full payloads.
The distinction between payment evidence and delivery evidence is covered in
proof and disputes.
Validator
The validator applies the agreed method to the agreed subject and publishes a result that can be matched to the signed policy. A dependable validator should make its identity, scoring method, result semantics, expected response time, versioning policy, and failure behavior understandable. It should avoid producing ambiguous results that cannot be connected to a specific job.4Mica operator and Core
The operator configures which validation registries the deployment trusts. Core checks the signed request, active network, registry allowlist, hashes, accepted guarantee version, and available collateral before issuing the V2 certificate. Core enforces the protocol agreement. It does not write the seller’s quality rubric, execute the job, or independently decide whether the output was useful.Validation and the payment lifecycle
Issuance, validation, and settlement are different events.The parties agree on terms
Core accepts the guarantee
PENDING_VALIDATION.The work is evaluated
The result is matched
The obligation resolves
FINALIZED_PAYABLE enter bilateral netting. A V2 guarantee
that remains PENDING_VALIDATION, DISPUTED, or CANCELLED is excluded from
the cycle’s payable obligations.
Read bilateral netting cycles for cycle
eligibility and settlements for the resulting payment states.
Collateral while validation is pending
Core locks capacity when it accepts the guarantee, before the validation outcome is known. This gives the seller economically meaningful payment evidence without making the obligation immediately payable. Pending validation therefore has a cost for the payer: the reserved capacity cannot simultaneously back unlimited new guarantees or be withdrawn as if it were unused. Long or unreliable validation processes can reduce available spending capacity. Buyers should account for:- expected validation duration
- the number of concurrent pending jobs
- the maximum value of each job
- validator and registry availability
- cancellation or resolution procedures
- other guarantees and settlement obligations using the same collateral
Latency, availability, and retries
Traditional SLAs often focus on uptime and response time. These promises can be part of a V2 payment condition only when the validation system can verify them reliably. For example, a latency SLA needs an agreed clock, start event, completion event, and trusted observer. A seller’s own unsigned timestamp is usually not enough to prove that a response met the deadline. Similarly:- availability needs a defined measurement window and observation source
- retry limits need a stable request identity and idempotent behavior
- partial completion needs a rubric or staged payment design
- timeout handling needs an explicit product and lifecycle policy
- refunds remain an application policy unless represented by an enforceable payment or validation flow
Designing an effective SLA
Start with the buyer’s actual acceptance question, then reduce it to the smallest reliable set of checks.Common SLA patterns
Deterministic computation
Deterministic computation
Generated structured output
Generated structured output
Model or agent evaluation
Model or agent evaluation
Workflow completion
Workflow completion
Time-sensitive delivery
Time-sensitive delivery
Failure modes
An SLA can fail because the work failed, but it can also fail because the agreement or evidence pipeline was designed incorrectly.Privacy and data minimization
Validation evidence may be visible beyond the buyer and seller, especially when stored in an on-chain registry. Do not publish confidential prompts, customer records, proprietary outputs, credentials, or personal data merely to make an SLA verifiable. Prefer commitments and minimal metadata:- hash the normalized job or artifact
- retain the original data in an access-controlled system
- publish only the result fields required by the policy
- avoid low-entropy hashes that reveal guessable private values
- document who can access supporting evidence
- keep retention periods proportional to audit and dispute needs
Frequently asked questions
Does V2 guarantee that the output is high quality?
Does V2 guarantee that the output is high quality?
Can the SLA be changed after the payer signs?
Can the SLA be changed after the payer signs?
Who chooses the validator?
Who chooses the validator?
Is an issued V2 guarantee already payable?
Is an issued V2 guarantee already payable?
PENDING_VALIDATION. It must follow the
applicable validation and lifecycle rules before it can enter a payable or
validation-based remuneration path.What happens when validation fails?
What happens when validation fails?
What happens when the validator never responds?
What happens when the validator never responds?
Can an SLA enforce refunds?
Can an SLA enforce refunds?
Can I use several validators?
Can I use several validators?
Does the validation registry hold the payer's funds?
Does the validation registry hold the payer's funds?