Start with the quick start. Two lines guard an agent: the import and one instance. Then read how it works and the postures. The verification pages, the SDKs, the CLI, the MCP server, and the REST API follow.

PagePurpose
Quick startTwo lines guard an agent: the import and one instance.
How it worksAutodetect, plugins, checks, the five actions, and the decision log.
PosturesWhat Provely changes and what it only records: defense and guard_mode.
RulesOptional. Audit, share and make exceptions to the checks that Provely builds at run time.
CoexistenceProvely beside your own retries, timeouts, validators and guardrails.
Failure modesThe families of agent failures, and which cases pass on every path.
Frameworks and pathsThe plugins, their versions, and the measured result of each path.
Troubleshooting and FAQStart errors, plugin warnings, an empty log, and common questions.
Intent compilationFrom an agent prompt to a signed completion contract.
Verdicts and retriesWhat each verdict means and what the agent may do next.
Integration compilerHow one vendor becomes one signed integration, in six stages.
Evidence receiptsWhat a receipt proves, and the checks the validator runs.
Pricing questionsWhat a metered action is, how the buckets pay, and what is always free.
SDKsThe TypeScript and Python SDKs and the canonical model.
CLIThe provely binary: scan, verify, status, receipt validate, mcp, init.
MCP serverThe four tools: begin, verify, status, receipt.
API referenceThe /v1 control plane endpoints.
Version supportHow Provely tracks provider API, event, SDK, protocol, and agent host versions.
Integration uptimeWhat we record about a provider, and why a status feed never decides a verdict.
SecurityThe credential boundary: the agent writes, the verifier reads.
Run in production without a stored keyA cloud or CI identity buys a short-lived token, so no API key is stored.

What is the verification loop?

Verification is a separate step from the checks. It proves that an action reached its outcome in the provider. Five calls make the loop, and your agent makes only the second one.

begincontract + inputactthe agent, with the keyaction_resultthe acknowledgement (E1)verifyreadback, event (E2, E3)receiptEd25519 signedthe agent does step 2 · the runtime does steps 4 and 5
The same five calls, on every surface: the API, the SDKs, the CLI and MCP.
In words
  • begin: the agent opens an operation against a contract and gets an idempotency key.
  • act: the agent performs the side-effecting action with that key.
  • action_result: the agent submits the provider acknowledgement.
  • verify: the runtime observes the provider and returns a verdict.
  • receipt: the runtime signs what it observed.
text
1. begin(contract, input)        -> operation_id + correlation/idempotency metadata
2. act()                         -> the AGENT does the side-effecting action
3. action_result(operation_id)   -> submit the provider acknowledgement
4. verify(operation_id)          -> VERIFIED | PENDING | CONTRADICTED | FAILED | UNVERIFIABLE
5. status / receipt              -> poll later; fetch the signed receipt