Payment Rails CROPS Dashboard
Unaudited, unvetted, experimental. Do not use as a reference. AI-researched ratings that may be wrong; not advice or a statement of fact about any provider. Full disclaimer
Pending review. 1150 of 1150 ratings not yet checked by a human. Do not rely on unreviewed ratings.

Aleo (credits.aleo private transfers)

transferAleoA Assessed on Aleo mainnet (aleo:0)aleo.org

Ratings apply to this deployment only. Treat them as unverified for other chains. Why this deployment: Aleo is its own proof-of-stake chain (BFT validator committee), so the unit is Aleo mainnet as defined by snarkVM v4.11.0 (MAINNET_V0_CONSENSUS_VERSION_HEIGHTS, consensus_heights.rs L165-L190) and the built-in credits.aleo program, whose transfer functions are the settlement path. CAIP-2 id aleo:0 from the registered aleo namespace (ChainAgnostic/namespaces aleo/caip2.md). Mainnet height read via the Provable API: 22,659,198 on 2026-10-09. Excluded: testnet and canary, other deployed programs (token_registry, stablecoins), bridges.

At a glance

Category
Protocols for privacy-preserving transfers
Chain
AleoAAleo mainnet
CROPS tally
18 of 23 hold up · 1 no evidence
Security audits
13 published
Offered
Everywhere
Last edited
2026-10-13 · History
  1. Censorship Resistance1 WeakWeakest: Admin pause or freeze powers
  2. Open1 WeakWeakest: Can be self-hosted
  3. Free0 FailsWeakest: Protection against relicensing
  4. Privacy2 PartialWeakest: Tracking and analytics; Third parties in the payment flow
  5. Security No evidenceWeakest: Audits and bug bounty

Where it is offered

Offered everywhere, per the provider's code or documents. Checked 2026-10-09. Not scored.

The protocol has no country rule, and the consensus restrictions list (which could block programs, functions or public argument values, not countries) is empty. The node, CLI and SDK contain no country or IP-geolocation gate in GitHub code search on 2026-10-09. The hosted Provable API and the consumer wallets (Shield, Leo Wallet, Puzzle) are closed, so we could not check them for geoblocking, and we found no first-party country list for them. Legality of use varies by jurisdiction; that is not an availability restriction by the protocol.

Evidence (2)2 verified
  1. Verified

    The mainnet restrictions list is empty.

    ProvableHQ/snarkVM · parameters/src/mainnet/resources/restrictions.json

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  2. Verified

    The reference CLI transfer has no location check; code search of snarkOS for country and geoip returns nothing.

    ProvableHQ/snarkOS · cli/src/commands/developer/transfer_private.rs

    commit 493fca395c · checked 2026-10-09

Censorship Resistance

Who can block valid use, and can users route around them?

1 WeakPillar rating: weakest of 5
4 of 5 Partial or better

What would raise this pillar

  • Admin pause or freeze powers reaching Partial: Such a role exists and is held by a Safe of at least 2-of-3 with disclosed signers, no enabled module or guard that bypasses the threshold, behind a timelock at least as long as the documented user exit, with its scope documented in code or NatSpec.

Admin pause or freeze powers

Can any privileged role stop, freeze, or block payments through the settlement contracts, and how is that role constrained? C1

1 Weak

Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

credits.aleo itself has no admin, pause or blacklist. But the node software has a built-in restrictions list that, once a release containing entries is adopted by the validator committee, makes the chain reject named programs, functions or public argument values such as a specific address, from a chosen block height. The list is empty today. Private transfers cannot be targeted by address because their arguments are encrypted, but the whole transfer_private function could be restricted. Provable maintains the only node implementation we found, and 23 validators decide whether to run a release. Judgment call: there is no key, but an address-level filter is designed into consensus and can be activated by one release with no enforced delay, so we score 1, not 2.

Evidence (2)2 verified
  1. Verified

    snarkVM carries a consensus-level restrictions registry that can block whole programs, single functions, or specific public or constant argument values (for example an address passed to transfer_public) over block ranges; is_argument_restricted (L237-L290) matches only public and constant inputs and outputs.

    ProvableHQ/snarkVM · synthesizer/src/restrictions/mod.rs

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  2. Verified

    The mainnet list is empty (no programs, functions or arguments) at v4.11.0; it has been empty since it was introduced in June 2024 (commits e8e59b7f and e579d0a9).

    ProvableHQ/snarkVM · parameters/src/mainnet/resources/restrictions.json

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Settle without the provider

Can a payer or payee complete settlement by calling the public contracts directly, without the provider's API, signer, or relayer? C2

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

A payer can build and prove a transfer locally and submit it to any Aleo node, with no Provable service in the path, using the public CLI or SDK. Judgment call: anchor 3 needs onchain evidence about the deployed program, which the dashboard cannot record for Aleo addresses and programs (the schema's address formats do not fit), so we take 2; the deployed credits.aleo matches source (see O1).

Evidence (2)2 verified
  1. Verified

    The snarkOS CLI builds a credits.aleo/transfer_private transaction locally from the user's key, input record and fee record, and broadcasts it to any endpoint given with --endpoint or --broadcast.

    ProvableHQ/snarkOS · cli/src/commands/developer/transfer_private.rs

    commit 493fca395c · checked 2026-10-09

  2. Verified

    transfer_private takes the sender's record, a private recipient and a private amount, and outputs a record for the recipient and a change record; no third-party signature is required.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Reliance on hosted services

Does the payment flow require a relayer, paymaster, bundler, or API that only the provider runs? C3

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

No relayer or paymaster is needed, and any snarkOS node can take the transaction. Two things are hosted by Provable by default: the API endpoint, which the user can replace with their own node, and the proving parameters, which every client downloads from Provable's two URLs on first use. The parameter files are checksummed in public code, so a mirror is possible, but none is configured. Scored 2: required intermediaries with public code, no independent fallback by default.

Evidence (2)2 verified
  1. Verified

    Proving parameters above degree 15 are downloaded from https://parameters.provable.com/mainnet with https://s3.us-west-1.amazonaws.com/mainnet.parameters as fallback; both are Provable-controlled and checksums are in the repo.

    ProvableHQ/snarkVM · parameters/src/mainnet/mod.rs

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  2. Verified

    The SDK defaults to the Provable API (https://edge.provable.com/api/v2) when no host is passed, and the snarkOS CLI defaults to https://api.explorer.provable.com/v2 (developer/mod.rs L80); both accept any node URL.

    ProvableHQ/sdk · sdk/src/program-manager.ts

    commit 9bbe5e63b2 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Neutral settlement, disclosed filtering

Is the settlement layer free of address or geographic filtering, and is any filtering at the edge disclosed and avoidable? C4

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Settlement is neutral today: the consensus restrictions list is empty and credits.aleo has no address checks. Its existence is disclosed in code, and it would apply at the settlement layer, where no direct path could bypass it (scored under C1). We found no edge filtering in the node, CLI or SDK. The hosted Provable API and the closed consumer wallets may filter, and we could not inspect them. Judgment call: 2, not 3, because 3 needs a distributed-package or trace record and because the settlement layer carries a filtering mechanism, even if empty.

Evidence (2)2 verified
  1. Verified

    The consensus restrictions list is empty, so no program, function or argument is filtered at settlement today.

    ProvableHQ/snarkVM · parameters/src/mainnet/resources/restrictions.json

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  2. Verified

    GitHub code search on 2026-10-09 for country and geoip in snarkOS, and country in the SDK, found no client-side gate (SDK hits are licence text and the demo website's terms).

    ProvableHQ/snarkOS · cli/src/commands/developer/transfer_private.rs

    commit 493fca395c · checked 2026-10-09

Token and chain freeze risks disclosed

Are the tokens and chains the rail depends on enumerated, with their issuers' freeze powers and sequencer assumptions stated to payees? C5

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Native credits have no issuer freeze, and the chain has a validator committee rather than a sequencer. Other tokens on Aleo, including stablecoin programs that Provable publishes as compliant-stablecoin examples, are out of scope here and may carry freeze lists. Neither the CLI nor the SDK tells payees about the committee or restrictions-list assumptions. Scored 2: enumerated in code, assumptions not stated.

Evidence (1)1 verified
  1. Verified

    The unit's asset is Aleo credits held as private records or public account balances in credits.aleo; there is no issuer freeze and no sequencer.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Open

Is the whole stack visible?

1 WeakPillar rating: weakest of 4
3 of 4 Partial or better

What would raise this pillar

  • Can be self-hosted reaching Partial: Reproducible with minor undocumented steps, recorded.

Contracts verified onchain

Does the deployed bytecode match public source, and can a third party rebuild it? O1

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Aleo programs are stored onchain as Aleo instructions, so source and deployment can be compared directly; credits.aleo matches the snarkVM source. Sourcify does not cover Aleo, and we read the deployed program through Provable's hosted API rather than our own node. Judgment call: a full source match through an explorer-style API is anchor 2; anchor 3 is defined by Sourcify and a rebuild script, which do not apply.

Evidence (1)1 verified
  1. Verified

    The credits.aleo program text served for mainnet by the Provable API on 2026-10-09 is token-for-token identical to this file once comments are removed (1,471 tokens each).

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Whole stack published

Are the SDK, frontend, backend or API, indexer, and deploy scripts all public? O2

2 Partial

Best evidence: VerifiedChecked 2026-10-09 10 days ago

UnreviewedAssessed by AI research agent (seed), 2026-10-09

The node, VM, settlement program, CLI and SDK are public, and the node's REST API is in its source. The hosted indexer and explorer API that the SDK and CLI use by default, and every consumer wallet we know of, have no public source. Scored 2: everything a user strictly needs is public, but the default backend and the usual frontends are not.

Evidence (1)1 verified
  1. Verified

    Node and REST API (snarkOS@493fca39, v4.11.0), VM and credits.aleo (snarkVM@29343ebb), and SDK (sdk@9bbe5e63, v0.12.0) are public; the hosted explorer API and the consumer wallets were not found in any public repository.

    ProvableHQ/snarkOS · node/rest

    commit 493fca395c · checked 2026-10-09

Can be self-hosted

Can a stranger reach a working deployment from the README? O3

1 Weak

Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Build and run documentation exists for the node. Reproduction not attempted, so the score is capped at 1.

Evidence (1)1 verified
  1. Verified

    The snarkOS README covers requirements, installation, ports and running a client, validator or prover.

    ProvableHQ/snarkOS · README.md

    commit 493fca395c · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Interfaces and data export

Are ABIs, event schemas, an API schema, and a payee data export in a non-proprietary format all in the repo? O4

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

The program interface and the node API are versioned in the repos. We found no payee export format in the CLI or SDK. Scored 2: interfaces present, export absent.

Evidence (1)1 verified
  1. Verified

    The settlement program's interface (functions, inputs, records, mappings, finalize logic) is in the repo; the node's REST routes are defined in snarkOS node/rest/src/lib.rs.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Free

Does the license actually let a third party fork, modify, and run it?

0 FailsPillar rating: weakest of 3
2 of 3 Partial or better

What would raise this pillar

Open-source licences

Does every repository needed to run the product carry an OSI-approved license? F1

3 Strong

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Every listed repository, including all required ones (node, VM and settlement program), carries an OSI-approved licence. Closed components (hosted API, proving and scanning services, consumer wallets) are optional.

Evidence (1)1 verified
  1. Verified

    snarkVM and snarkOS are Apache-2.0; the SDK and Leo are GPL-3.0.

    ProvableHQ/snarkVM · LICENSE.md

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Protection against relicensing

Can the provider unilaterally relicense future versions, and has it committed not to? F2

0 Fails

Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

There is no CLA and no written licence-stability commitment. The node and VM were relicensed from GPL to Apache-2.0 in May 2023, which widened rights but shows the maintainer can change the licence of future versions. Judgment call: anchor 0 names any prior relicense event; under the take-the-lower-anchor rule we score 0, though the change was permissive.

Evidence (1)1 verified
  1. Verified

    snarkVM's licence changed from GPL to Apache-2.0 in commit b8cd7cbc (2023-05-21) and snarkOS's in 2f449c59 the same day; no CLA appears in either repo's CONTRIBUTING or workflows.

    ProvableHQ/snarkVM · LICENSE.md

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

No proprietary dependencies

Does a production deployment need a proprietary plugin or hosted-only service? F3

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

A production deployment (own node, CLI or SDK) needs no proprietary software. The proving parameters are fetched from Provable's hosts but are open data that can be mirrored. The hosted API, delegated proving and record scanning are optional. Judgment call: 2, since we made no O3 reproduction and the parameter hosting has no independent default.

Evidence (1)1 verified
  1. Verified

    The only hosted dependency on the required path is the proving-parameter download, which is public, Apache-licensed data checked against hashes in the repo.

    ProvableHQ/snarkVM · parameters/src/mainnet/mod.rs

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Privacy

What can an observer learn, and did the user knowingly choose it?

2 PartialPillar rating: weakest of 5
5 of 5 Partial or better

What would raise this pillar

Tracking and analytics

Do the SDK, widget, or frontend ship analytics, telemetry, error reporting, or fingerprinting? P1

2 Partial

Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-12 7 days ago

UnreviewedAssessed by AI research agent (seed), 2026-10-09

The SDK, CLI and node ship no third-party analytics. The SDK's demo website imports Amplitude, but its init call is commented out, and the website is not on the payment path. The closed consumer wallets were not inspected. Judgment call: absence shown in code and the published package, with no trace, is capped at 2.

Evidence (1)1 verified
  1. Verified

    The SDK's runtime dependencies are @provablehq/wasm, @scure/base, @serenity-kit/noble-sodium, comlink, core-js, mime and xmlhttprequest-ssl, with no analytics or error reporting; snarkOS validator telemetry is local metrics exposed on the node's own REST API.

    ProvableHQ/sdk · sdk/package.json

    commit 9bbe5e63b2 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-12

Data collected beyond payment

Does the flow collect anything beyond addresses, amounts, token, and chain? P2

3 Strong

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

The protocol collects only what settlement needs. No required component holds account or identity data. Optional Provable services see more: the hosted API sees the submitting IP, and the record-scanning service, if used, needs the user's view key.

Evidence (1)1 verified
  1. Verified

    transfer_private takes only a record, a recipient and an amount; the fee functions add only the fee amount and an execution id.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Payments linkable onchain

What do calldata and events reveal about who paid whom for what? P3

3 Strong

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

A transfer_private with a private fee reveals no payer, payee or amount onchain; the program and function name, timing and transaction size are visible. Paying the fee publicly (fee_public) reveals the payer's address, and public transfers are fully transparent; both are explicit choices in the SDK and CLI. The anonymity set depends on how much activity uses records, which we do not score. Judgment call: we score what the protocol offers for a private transfer, which is anchor 3.

Evidence (2)2 verified
  1. Verified

    transfer_private keeps sender, recipient and amount private (encrypted records); transfer_private_to_public and transfer_public_to_private reveal one side and the amount, as the program comments state.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  2. Verified

    The SDK's transfer builder makes the caller choose the transfer type and whether to pay the fee from a private record or the public balance.

    ProvableHQ/sdk · sdk/src/program-manager.ts

    commit 9bbe5e63b2 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Third parties in the payment flow

Which third parties see a request during a payment, and can they be swapped out? P4

2 Partial

Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

By default the SDK and CLI query and broadcast through Provable's API, which sees the user's IP, the records they look up and the transactions they submit; the parameter host sees downloads. All are named in code and swappable for a self-run node. Optional delegated proving and record scanning send more (an authorization or a view key) to Provable. Scored 2: third parties present, named in code, swappable by config.

Evidence (1)1 verified
  1. Verified

    The default host (edge.provable.com) is named in code and replaced by passing a host; the network client also takes optional prover and record-scanner URIs (network-client.ts L120-L124).

    ProvableHQ/sdk · sdk/src/program-manager.ts

    commit 9bbe5e63b2 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Endpoints can be changed

Can RPC and indexer URLs be changed, and is the indexer code public? P5

3 Strong

Best evidence: VerifiedChecked 2026-10-09 10 days ago

UnreviewedAssessed by AI research agent (seed), 2026-10-09

The RPC and data endpoint is configurable in the SDK and CLI, and the node that provides it is public. Scored 3.

Evidence (1)1 verified
  1. Verified

    The CLI takes --endpoint for queries and --broadcast for submission; the SDK takes a host argument; the node that serves both is public (snarkOS node/rest).

    ProvableHQ/snarkOS · cli/src/commands/developer/transfer_private.rs

    commit 493fca395c · checked 2026-10-09

Security

Who can cause loss, lock users in, or change the rules?

No evidencePillar rating: weakest of 6
4 of 6 Partial or better · 1 no evidence

What would raise this pillar

Who holds funds in transit

Who holds funds between payer and payee, and can the provider redirect them? S1

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Value moves directly from the payer's record to a record the payee owns. No one holds funds in flight. Judgment call: anchor 3 in substance, but 3 needs onchain evidence the schema cannot carry for Aleo, so we take 2.

Evidence (1)1 verified
  1. Verified

    transfer_private consumes the sender's record and creates a record owned by the recipient in the same transition; no escrow or third party holds funds.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Who can upgrade the code

Who can change the contract code, and with how much notice? S2

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

credits.aleo and the consensus rules change only through snarkVM releases with fixed activation heights, which the 23 validators must run. Provable maintains the only implementation we found, and it has shipped 21 consensus versions in about two years, each activated at a block height fixed in the release; we did not check how far ahead each release shipped. There is no enforced delay or user-exit window. Judgment call: notice exists through heights fixed in releases (V21 carried a target date in code), so we take 2, as for other own-chain protocols; 3 would also need onchain evidence the schema cannot carry. The restrictions list is scored under C1.

Evidence (2)2 verified
  1. Verified

    Mainnet has had 21 consensus versions since launch, the latest (V21) at height 22,437,000 with a comment giving its target time (2026-10-01 21:00 UTC); V22 is reserved. The Provable API reported height 22,659,198 on 2026-10-09.

    ProvableHQ/snarkVM · console/network/src/consensus_heights.rs

    commit 29343ebbb7 · checked 2026-10-09

  2. Verified

    Joining the committee needs at least 10M credits delegated (L242); the committee read through the Provable API on 2026-10-09 had 23 members, 21 open to delegation, about 1.05 billion credits bonded.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Token approval scope

How large an allowance does the SDK ask users to grant, and for how long? S3

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

There are no allowances for native credits; each payment is executed by the owner, so nothing can pull funds later. Judgment call: better than exact-amount approvals in substance, but 3 needs a distributed-package or trace record, so we take 2.

Evidence (1)1 verified
  1. Verified

    credits.aleo has no approve or allowance function; every transfer is executed by the owner's key (self.caller, self.signer or record ownership).

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Funds safe if provider disappears Derived

If the provider disappears tomorrow, do payees keep their funds and the ability to keep settling? S4

1 Weak

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Derived from S1=2 (anchor 3 in substance), C2=2, C3=2 and O3=1. Funds are records or balances under the user's key (S1), and any node accepts a transaction (C2). But spending needs proving parameters that the code fetches only from Provable-run hosts (C3); if Provable disappeared, a user without a cached copy would need to obtain the files elsewhere and check them against the published hashes, a manual step no repo documents. We did not reproduce a self-hosted setup (O3=1). Judgment call: funds are retrievable without Provable only by that undocumented manual step, so we score 1.

Evidence (1)1 verified
  1. Verified

    Every execution, including a withdrawal of one's own credits, needs proving parameters that clients download only from Provable's two URLs unless already cached.

    ProvableHQ/snarkVM · parameters/src/mainnet/mod.rs

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Secrets and webhook handling

Are secrets kept out of client bundles and are webhooks signed and verified? S5

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

UnreviewedAssessed by AI research agent (seed), 2026-10-09

Private keys stay with the user; the protocol has no webhooks. The SDK supports an optional gateway API key or JWT, which an integrator could ship in a browser bundle; the SDK does not do so itself. Using the optional record-scanning service hands a view key to Provable. Judgment call: 2, since 3 needs a package or trace record and the optional services widen key exposure.

Evidence (1)1 verified
  1. Verified

    The SDK accepts an optional API key or JWT for Provable's gateway, supplied by the integrator; none is bundled.

    ProvableHQ/sdk · sdk/src/network-client.ts

    commit 9bbe5e63b2 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

Audits and bug bounty

Has the code been audited at a pinned commit, were findings fixed traceably, and is there a live bounty? S6

No evidence

Sets the pillar rating

UnreviewedAssessed by AI research agent (seed), 2026-10-09

No checkable evidence settles this yet, so it counts as 0.

We found no audit report pinned to a commit in snarkVM, snarkOS or the SDK; snarkVM's SECURITY.md (L1-L11) asks for reports by GitHub issue or email and mentions no bounty. External audits and bounty programmes are known by reputation only, which we do not score.

Security audits 13

Published audits and similar reviews of this provider's code, newest first. Context for the Audits and bug bounty rating, which scores them; this list does not change any rating, and an audit of older code says little about what is deployed now.

DateAuditorTypeScopeCovers deployed codeFindings
2025-11-19zkSecurityAuditsnarkVM dynamic dispatch (call.dynamic instruction) added to the VM
Feature audit; call.dynamic is present in snarkVM's main branch, which has changed since. No audited commit stated.
Partly1 medium, 1 low
2025-10-06zkSecurityAuditsnarkVM serialization, hash and ECDSA instructions (feat/bytes branch), usable in finalize at 41d32c5f
Feature audit of a branch later merged; not specific to the credits.aleo transfer functions.
Partly3 medium, 2 low, 1 informational
2025-06-14zkSecurityAuditsnarkVM program upgradability update
Commissioned by Provable. Feature audit; snarkVM has had many releases since.
Partly2 high, 3 medium, 1 low; fixes verified by the auditor
2024-06-10zkSecuritySecurity reviewARC-0041 validator activation changes, including a full review of credits.aleo (transfer, fee and staking functions) and related finalize, rewards and committee helpers in snarkVM at 0f382b6a2b
The closest review of the credits.aleo program the rating covers; credits.aleo has changed in later consensus upgrades.
PartlyNo security issues found
2024-06-07VeridiseAuditDemox Labs' arc0038 staking program plus changes to credits.aleo and finalize.rs in snarkVM PRs 2402 and 2406
Commissioned by Demox Labs; only the two credits.aleo change sets are Aleo protocol code.
PartlyNo findings
2024-04-08zkSecurityAuditAleo synthesis puzzle (snarkVM) and its snarkOS integration at 14b03f5ec1Partly6 informational
2024-03-18zkSecuritySecurity reviewARC-0037 withdrawal-address mapping added to credits.aleo (snarkVM PR 2385)
Two-day review of one change set.
PartlyNo issues found
2024-02-08NCC GroupAuditsnarkOS implementation and consensus mechanism (partially synchronous Bullshark BFT over a DAG), reviewed November 2023 with a retest in January 2024
Linked from the Aleo Foundation post https://aleo.org/post/aleo-completes-security-audits-of-snarkos-and-snarkvm/; returns 403 to scripted requests, so findings were not read. Pre-mainnet snarkOS; mainnet runs v4.11.0.
Partly
2023-12-13NCC GroupAuditsnarkVM implementation review (testnet3-audit-ncc branch), including the synthesizer and the algorithms (proof system) module, with a retest a few months later
Linked from the Aleo Foundation post https://aleo.org/post/aleo-completes-security-audits-of-snarkos-and-snarkvm/; returns 403 to scripted requests, so findings and the audited commit were not read. Pre-mainnet snarkVM; mainnet runs v4.11.0.
Partly
2023-11-28Trail of BitsAuditsnarkVM (testnet3-audit-tob branch), snarkOS and its Narwhal/Bullshark BFT consensus at 9fcb15fc50
Pre-mainnet (testnet3) code; the commit is the snarkVM target, snarkOS was reviewed at dc0c10b0 and narwhal branches. Mainnet runs snarkVM/snarkOS v4.11.0.
Partly1 medium, 4 low, 23 informational, 3 undetermined
2023-10-30zkSecurityAuditsnarkOS consensus (AleoBFT, Bullshark/Narwhal) on the testnet3-audit-zks branch at 9234cbee73
Pre-mainnet code; snarkOS has changed substantially since.
Partly4 high, 1 medium, 1 low, 2 informational; fixes reviewed in February 2024
2023-10-02zkSecurityAuditsnarkVM synthesizer (testnet3-audit-zks branch) at 9f5246d8c2
Pre-mainnet code.
Partly6 high, 2 informational
2022-10-03Trail of BitsAuditsnarkVM (console, algorithms and related crates) for Aleo Systems at 62de4cfe5a
2022 snarkVM, superseded by the testnet3 rewrite and later mainnet releases.
No2 medium, 6 low, 21 informational

Compiled from: Aleo's Security Audits docs page (source in github.com/AleoNet/aleo-docs-source, learn/reference/security-audits.mdx; developer.aleo.org returned a Cloudflare challenge and was not bypassed), the Aleo Foundation post "Aleo completes security audits of snarkOS & snarkVM", the repos of ProvableHQ/snarkVM, snarkOS, sdk and leo (no audits folder), github.com/trailofbits/publications, reports.zksecurity.xyz, and Veridise's audit archive. NCC Group published two Aleo reports (snarkVM implementation review, 2023-12-13; snarkOS implementation and consensus review, 2024-02-08) at research.nccgroup.com, linked from the Aleo post; they are listed from that post's links and public summaries because every NCC URL returned 403 to scripted requests, so their findings counts were not read. Provable's formal-verification and fuzzing blog posts are not reports. Third-party Leo programs (Demox, Hyperlane, Sealance, Venture23) are out of scope. No published audit of the Provable SDK or Leo was found. Checked 2026-10-13. Only published reports are listed; private audits a provider mentions without a report are not.

Operational and procurement

Facts an institution's procurement, finance and security functions ask for. Separate from the CROPS ratings and never scored.

Group A: operational facts. Group B: 45 due-diligence controls derived from a UN agency's vendor requirements: 14 evidenced, 0 attested, 3 absent, 27 not applicable, 1 unknown. "Not applicable" means there is no operator to hold the control: it falls to whoever deploys the rail. How to read this.

Group A: operational facts

Fees

Evidenced
ComponentPaid byAmountBasis
networkpayerBase fee = size cost + finalize cost; sample 2,308 microcredits (0.002308 credits) for a transfer_privateConsensus cost in snarkVM, 1 microcredit per byte (quadratic above 5,000 bytes) plus finalize cost; paid via credits.aleo fee_private (hidden payer) or fee_public. Fees go to validators in the block reward. Changes need a consensus version.
networkpayerOptional priority fee, any amount; 0 in the samples readSecond public input of fee_private and fee_public in credits.aleo; added to the base fee and orders the mempool.

No protocol or provider fee. The sampled private transfer paid its fee publicly, which reveals the payer; fee_private hides it. Provable's delegated proving and wallets may charge for optional services (the Shield terms mention a Feemaster API); those are outside the rail.

  1. Verified

    execution_storage_cost charges size_in_bytes microcredits, or size^2 / EXECUTION_STORAGE_FEE_SCALING_FACTOR (5000) above EXECUTION_STORAGE_PENALTY_THRESHOLD (5000 bytes, console/network/src/lib.rs L148-L151); execution_cost_v3 (L510-L528) adds the finalize cost.

    ProvableHQ/snarkVM · synthesizer/process/src/cost.rs

    commit 29343ebbb7 · checked 2026-10-09

  2. Verified

    fee_private consumes a private record and returns change to the same owner; fee_public debits the signer's public account mapping. Both take a base amount and a priority fee and add them.

    ProvableHQ/snarkVM · synthesizer/program/src/resources/credits.aleo

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  3. Verified

    The staking block reward is 5% annual issuance per block plus one third of the coinbase reward plus transaction fees, so fees go to validators and their delegators; none goes to a foundation or developer.

    ProvableHQ/snarkVM · ledger/block/src/helpers/target.rs

    commit 29343ebbb7 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  4. Verified

    A credits.aleo/transfer_private transaction in block 22,664,958 (2026-10-09 12:36:36 UTC) pays fee_public with base 2308u64 and priority 0u64. transfer_public transactions in nearby blocks paid 56,166 microcredits (finalize cost). Read through Provable's explorer API; any snarkOS client returns the same transaction.

    api.explorer.provable.com/v1/mainnet/transaction/at1k0dy4mpj3vercaeq2a0rmvhga5v0h0shw5e2d85g4sr80ufazvqs6vwxx9

    block 22664958 · checked 2026-10-09

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Custody model

Evidenced

Self-custody

Agrees with the S1 finding (anchor 3 in substance, capped at 2 for want of schema-compatible onchain evidence). transfer_private consumes the payer's record and creates a record owned by the payee in one transition; nobody holds funds in flight. Delegated proving through Provable is optional and receives an authorization, not keys.

Evidence shared with CROPS: S1 item 1

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Licences and registrations

N/A: falls to the institution

No operating entity runs the rail. Aleo mainnet is run by a committee of bonded validators and credits.aleo has no admin; Provable and the Aleo Network Foundation maintain software, run optional hosted services and fund grants, but do not transmit or hold users' funds.

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Cash-out options

N/A: falls to the institution

Native-asset rail. The payee receives Aleo credits as a record it owns; converting credits (or stablecoins issued on Aleo, out of scope) to local currency is outside the protocol.

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

First deployment

Evidenced

2024-09-04: Aleo mainnet genesis with credits.aleo built in (consensus V1 at height 0). Current rules are consensus V21, active since height 22,437,000 on 2026-10-01.

  1. Verified

    MAINNET_V0_CONSENSUS_VERSION_HEIGHTS starts V1 at height 0 and lists V2 to V21 activation heights; V22 is unset (u32::MAX).

    ProvableHQ/snarkVM · console/network/src/consensus_heights.rs

    commit 29343ebbb7 · checked 2026-10-09

  2. Verified

    Genesis header metadata timestamp 1725462000 = 2024-09-04T15:00:00Z; block 1 is 1725479626 (2024-09-04T19:53:46Z). Read through Provable's explorer API; any snarkOS client returns the same block.

    api.explorer.provable.com/v1/mainnet/block/0

    block 0 · checked 2026-10-09

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Operating entity

Evidenced

Provable Inc., US-DE

Judgment call. Provable Inc. is recorded because it maintains the node and VM that define the unit. The Aleo Network Foundation's legal form and jurisdiction were not found on the pages read (aleo.org footer, FAQ, grants, privacy); its contributor-terms PDF was not parsed. The Delaware company register search is behind a CAPTCHA and was not used, so no register_url.

  1. Documented

    Provable's terms identify the company as a Delaware corporation. Provable maintains snarkVM, snarkOS, the SDK and Leo (ProvableHQ GitHub organisation) and runs the explorer API and parameter hosts.

    provable.com/termsofuse

    checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  2. Documented

    The Aleo Network Foundation runs aleo.org and the ecosystem grants programme.

    aleo.org/grants

    checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Security incidents

Evidenced

Absence of a found incident is not evidence that none occurred.

Empty list with the search recorded. No post-mortem, advisory or mainnet halt report was found in the primary sources read; this is absence of disclosure, not proof that nothing happened.

  1. Verified

    No published security advisories in ProvableHQ/snarkVM, snarkOS, sdk or leo (empty lists on 2026-10-09).

    api.github.com/repos/ProvableHQ/snarkVM/security-advisories

    checked 2026-10-09

  2. Verified

    Issue search in snarkOS for halt returns devnet, isonet and prerelease reports (e.g. 3242, 3356, 4410) but no mainnet incident; the aleo.org blog index has no post-mortem.

    api.github.com/search/issues

    checked 2026-10-09

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Product changes affecting users

Evidenced
  • 2024-12-09: Consensus V2 (height 2,800,000) updates the block reward and execution cost algorithms. source
  • 2025-07-22: Consensus V8 (height 9,430,000) updates inclusion and record commitment versions and introduces sender ciphertexts. source
  • 2025-08-18: Consensus V9 (height 10,272,000) adds program upgradability. source
  • 2025-09-16: Consensus V10 (height 11,205,000) lowers fees and cuts the per-transaction compute spend limit from 100 to 4 credits. source
  • 2026-08-04: Consensus V18 (height 20,794,000) enables native credits record translation and block-wide deployment limits. source
  • 2026-10-01: Consensus V21 (height 22,437,000) activates Varuna V3, the current proof system version. source

20 consensus upgrades in about 25 months; only the six that touch fees, records or proofs are listed. Each ships in a snarkVM/snarkOS release with a fixed activation height and takes effect when the 23 validators run it.

  1. Verified

    The ConsensusVersion enum documents what each version changes; mainnet heights are at L165-L188. Dates are the activation-block timestamps read from api.explorer.provable.com/v1/mainnet/block/<height>.

    ProvableHQ/snarkVM · console/network/src/consensus_heights.rs

    commit 29343ebbb7 · checked 2026-10-09

UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09

Volume transacted (verified only)

Not observable

Private transfers (transfer_private, fee_private) hide sender, recipient and amount in encrypted records; only public transfers and public fees reveal amounts. Aleo has no EVM contract address or event log, and the volume script reads EVM logs only, so even the public share cannot be computed with it.

UnreviewedAssessed by AI research agent (operational), 2026-10-09

Group B: institutional due diligence

ControlStateWhat was found
Assurance and certifications
B1.1 ISO 27001, developer organisation
Is the organisation that develops the product ISO 27001 certified, and does the certificate name that entity?
N/A: falls to the institution
implied from the component list
B1.2 ISO 27001, hosting and support organisation
Is the organisation that hosts and supports the service ISO 27001 certified in its own name, with a scope covering the service?
N/A: falls to the institution
implied from the component list
B1.3 SOC 2 Type II or ISAE 3000/3402 reports
Does the provider undergo periodic SOC 2 Type II or ISAE 3402 Type II assessments and make reports available?
N/A: falls to the institution
implied from the component list
B1.4 Independent source-code security review before go-live
Was the application reviewed by an independent party before launch, and is the report linked?
N/A: falls to the institution
implied from the component list
B1.5 Penetration testing
Is the service penetration-tested before go-live and at least every three years, with results available?
N/A: falls to the institution
implied from the component list
B1.6 Vulnerability scanning cadence
Are the platform and the application scanned for vulnerabilities at least every six months?
N/A: falls to the institution
implied from the component list
Vulnerability and patch management
B2.1 Security contact and disclosure policy
Is there a published way to report a vulnerability (SECURITY.md, security.txt, or a disclosure page)?
Evidencedsome of 4 repo(s): ProvableHQ/snarkOS ✗ no security policy file; ProvableHQ/snarkVM ✓ security policy file: SECURITY.md; ProvableHQ/sdk ✗ no security policy file; ProvableHQ/leo ✗ no security policy file
source 1 · source 2 · source 3 · source 4
B2.2 Patch service levels
Does the provider commit to patch timelines for known vulnerabilities (the partner expects 30 days critical, 40 high, 90 medium)?
N/A: falls to the institution
implied from the component list
B2.3 Dependency and vulnerability scanning in CI
Do the public repositories run dependency or code scanning automatically?
Evidencedall of 4 repo(s): ProvableHQ/snarkOS ✓ dependabot config present; ProvableHQ/snarkVM ✓ dependabot config present; ProvableHQ/sdk ✓ dependabot config present; ProvableHQ/leo ✓ dependabot config present
source 1 · source 2 · source 3 · source 4
Incident reporting and continuity
B3.1 Incident reporting commitment
Does the provider commit to notify customers of security or data incidents within a stated time (the partner expects 24 hours)?
N/A: falls to the institution
implied from the component list
B3.2 Backups and restore testing
Are customer records backed up daily and restores tested on a schedule?
N/A: no such service
implied from the component list
B3.3 Recovery plan
Is there an approved and tested recovery plan for the service?
N/A: no such service
implied from the component list
B3.4 Status page and post-mortems
Does the provider publish service status and post-mortems for incidents?
N/A: falls to the institution
implied from the component list
Identity and access (operator side)
B4.1 MFA for end users
Can or must end users protect accounts with multi-factor authentication?
N/A: no such service
implied from the component list
B4.2 MFA and separate accounts for privileged access
Is privileged access protected by MFA and kept on separate accounts?
N/A: falls to the institution
implied from the component list
B4.3 Periodic access reviews
Are user access rights reviewed at least annually and privileged accounts at least six-monthly?
N/A: falls to the institution
implied from the component list
B4.4 Segregation of duties and joiner-mover-leaver controls
Is there a documented segregation-of-duties model and a joiner-mover-leaver process?
N/A: falls to the institution
implied from the component list
B4.5 Session timeout
Are idle interactive sessions terminated after a defined period (the partner expects 60 minutes)?
N/A: no such service
implied from the component list
API and integration
B5.1 API authentication, browser to server
Which standard (OAuth 2.0, OpenID Connect, SAML, JWT) protects browser-to-server API calls?
N/A: falls to the institution
implied from the component list
B5.2 API authentication, server to server
Are server-to-server calls authenticated with keys or PKI certificates, and are keys scoped and rotatable?
EvidencedProvable API (optional hosted service, default SDK and CLI endpoint). Registration at POST /consumers issues an API key; POST /jwts/:consumerId exchanges it for a signed JWT sent as a Bearer header. Public read endpoints are rate-limited (5 requests per second, 100,000 per day). Key scoping, rotation and JWT lifetime are not documented.
Position of a hosted service Provable runs; the rail does not require it (any snarkOS client serves the same chain data, see C3). Cross-reference CROPS S5.
source 1 · source 2 · source 3
B5.3 Token expiry
Do API tokens expire, and within what period (the partner caps it at 120 minutes for public data, 30 otherwise)?
N/A: falls to the institution
implied from the component list
B5.4 Export controls
If an API exports data, does it limit volumes and log exports?
N/A: falls to the institution
implied from the component list
Data protection and privacy governance
B6.1 Data classification and encryption
Does the provider state a data classification and enforce encryption at rest and TLS 1.2 or better in transit?
N/A: falls to the institution
implied from the component list
B6.2 Production data kept out of test environments
Does the provider state that production or real personal data is not used in development and testing?
N/A: falls to the institution
implied from the component list
B6.3 Data retention and deletion on termination
What is retained, for how long, and is customer data removed on termination?
EvidencedProvable's privacy notice covers its websites, explorer, SDKs and tools. Personal data is kept no longer than reasonably necessary for the purpose, with retention criteria per legal basis and deletion or de-identification afterwards; no fixed periods. It states no automated decision-making or profiling. Record scanning requires registering a view key with Provable; the notice read does not name a retention period for view keys.
Applies only to Provable's optional hosted services. Cross-reference CROPS P2.
source 1
B6.4 Data protection impact assessment and roles
For systems holding personal data, has a DPIA been completed and are controller and processor defined?
N/A: falls to the institution
implied from the component list
B6.5 Data processing or sharing agreement available
Can a customer obtain a data processing agreement or equivalent?
N/A: falls to the institution
implied from the component list
Logging and monitoring
B7.1 Audit logging
Are account changes, logins and activity on important records logged and retained?
N/A: falls to the institution
implied from the component list
B7.2 Central monitoring and endpoint detection
Are logs sent to a managed SIEM and is endpoint detection running on all platforms?
N/A: falls to the institution
implied from the component list
Hosting and network
B8.1 Hardened hosting
Are hosts hardened to a recognised benchmark, with only essential ports open, IDS/IPS, a WAF for internet-facing applications and tenant isolation?
N/A: falls to the institution
implied from the component list
B8.2 Deployment configuration and infrastructure as code
Does the repository ship reproducible deployment configuration (containers, IaC, Helm) that a self-hoster can harden?
Absentnone of 4 repo(s): ProvableHQ/snarkOS ✗ no deployment configuration; ProvableHQ/snarkVM ✗ no deployment configuration; ProvableHQ/sdk ✗ no deployment configuration; ProvableHQ/leo ✗ no deployment configuration
source 1 · source 2 · source 3 · source 4
Engineering practice in public repositories
B9.1 Default branch protected
Does the default branch require reviews and passing checks, with no direct pushes?
Absentnone of 4 repo(s): ProvableHQ/snarkOS ✗ rules: deletion; ProvableHQ/snarkVM ✗ rules: deletion; ProvableHQ/sdk ✗ no branch rules visible (classic branch protection is not readable without push access); ProvableHQ/leo ✗ no branch rules visible (classic branch protection is not readable without push access)
source 1 · source 2 · source 3 · source 4
B9.2 CI runs on pull requests
Does every pull request trigger automated checks?
Evidencedall of 4 repo(s): ProvableHQ/snarkOS ✓ 5 workflow file(s); ProvableHQ/snarkVM ✓ 5 workflow file(s); ProvableHQ/sdk ✓ 4 workflow file(s); ProvableHQ/leo ✓ 7 workflow file(s)
source 1 · source 2 · source 3 · source 4
B9.3 Tests run in CI
Do the CI workflows run the test suite?
Evidencedall of 4 repo(s): ProvableHQ/snarkOS ✓ test command in a workflow; ProvableHQ/snarkVM ✓ test command in a workflow; ProvableHQ/sdk ✓ test command in a workflow; ProvableHQ/leo ✓ test command in a workflow
source 1 · source 2 · source 3 · source 4
B9.4 Coverage reported
Is test coverage measured and reported (the partner expects 85%)?
Evidencedsome of 4 repo(s): ProvableHQ/snarkOS ✗ coverage tooling referenced; ProvableHQ/snarkVM ✓ coverage tooling referenced; ProvableHQ/sdk ✓ coverage tooling referenced; ProvableHQ/leo ✓ coverage tooling referenced
source 1 · source 2 · source 3 · source 4
B9.5 Versioned releases
Are releases tagged with immutable semantic versions?
Evidencedall of 4 repo(s): ProvableHQ/snarkOS ✓ latest tags: v4.12.0, v4.11.0, v4.10.1; ProvableHQ/snarkVM ✓ latest tags: v4.12.0, v4.11.0, v4.10.0; ProvableHQ/sdk ✓ latest tags: v0.12.1, v0.12.0, v0.11.11; ProvableHQ/leo ✓ latest tags: v4.0.2, v4.0.1, v4.0.0
source 1 · source 2 · source 3 · source 4
B9.6 Signed tags or commits
Are release tags or recent commits cryptographically signed?
Evidencedsome of 4 repo(s): ProvableHQ/snarkOS ✗ 4 of 10 recent commits signed; ProvableHQ/snarkVM ✓ 5 of 10 recent commits signed; ProvableHQ/sdk ✓ 10 of 10 recent commits signed; ProvableHQ/leo ✓ 10 of 10 recent commits signed
source 1 · source 2 · source 3 · source 4
B9.7 Changelog
Is a changelog maintained with the code?
Evidencedall of 4 repo(s): ProvableHQ/snarkOS ✓ 8 release(s) with notes; ProvableHQ/snarkVM ✓ 6 release(s) with notes; ProvableHQ/sdk ✓ 10 release(s) with notes; ProvableHQ/leo ✓ 10 release(s) with notes
source 1 · source 2 · source 3 · source 4
B9.8 Contribution and branching model documented
Does the README or contribution guide state how changes are proposed, reviewed and released?
Evidencedall of 4 repo(s): ProvableHQ/snarkOS ✓ contribution section in README; ProvableHQ/snarkVM ✓ CONTRIBUTING file; ProvableHQ/sdk ✓ contribution section in README; ProvableHQ/leo ✓ CONTRIBUTING file
source 1 · source 2 · source 3 · source 4
Architecture documentation
B10.1 Architecture documentation
Is there a public architecture document covering logical, infrastructure and integration architecture and the components used?
EvidencedLogical view only. The Aleo docs describe the split between snarkVM (synthesizer, algorithms, ledger; local execution and proving) and snarkOS (validator, prover and client modes; AleoBFT), with pages on transactions, fees, consensus and node types. No integration view of the hosted API or parameter hosts and no infrastructure view.
source 1
Commercial and financial
B11.1 Contracting entity
Which legal entity would an institution contract with, and in which jurisdiction?
EvidencedFor Provable's hosted services the counterparty would be Provable Inc. (Delaware), California law and arbitration per its Shield Wallet terms. Those terms point to separate API Terms whose link is a literal placeholder; no API terms page was found. The rail itself has no contracting party.
provable.com/api-terms and similar paths return 404 (2026-10-09).
source 1
B11.2 Funding of ongoing operation
How is ongoing operation and maintenance funded (revenue, foundation, grants, fee switch), per a primary source?
EvidencedNo protocol funding stream. Issuance (about 5% a year) and fees go to validators, delegators and provers by consensus; nothing is routed to a foundation or developer. Ecosystem work is funded by Aleo Network Foundation grants (up to $100K each); Provable is a company whose own funding was not read from a primary source.
source 1 · source 2
B11.3 Termination terms
What happens to customer funds and data on termination by either side?
N/A: falls to the institution
implied from the component list
AI components
B12.1 AI in the payment path
Does an AI system take part in payment processing or compliance decisions (for example automated transaction screening)?
Absent
Settlement depends on consensus checks, fees and the restrictions list, which is a hand-maintained JSON file (empty) rather than an automated or AI screen. No AI component was found in snarkVM, snarkOS or the SDK in the seed research's code searches.
source 1
CROPS C4 · CROPS C4
B12.2 AI controls documented
If AI is used, are monitoring, validation, override, decommissioning and bias evaluation documented?
Unknown
implied from the component list

Scope of assessment

Components in the payment path

ComponentRolePublicLicenceOperatorRequired
Aleo mainnet consensus (BFT committee of bonded validators)ledgerYesApache-2.023 validators at 2026-10-09; bonding open at 10M creditsYes
credits.aleo (built-in program; transfer and fee functions)contractsYesApache-2.0none (changed only by consensus upgrades)Yes
snarkVM (VM, consensus versions, restrictions list)otherYesApache-2.0Provable (maintainer); run inside every node and clientYes
snarkOS node and developer CLI (transfer_private)backendYesApache-2.0user, validators, or any node operatorYes
Proving parameters (parameters.provable.com, S3 fallback; checksums in snarkVM)otherYesApache-2.0Provable (both download URLs)Yes
Provable SDK (@provablehq/sdk)sdkYesGPL-3.0userNo
Provable API (api.explorer.provable.com, edge.provable.com), default endpointapiNoproprietaryProvableNo
Provable delegated proving and record scanning servicesotherNoproprietaryProvableNo
Consumer wallets (Shield, Leo Wallet, Puzzle); no public source foundwalletNoproprietarywallet vendorsNo

Repositories

RepositoryRoleLicense
ProvableHQ/snarkOSbackendApache-2.0
ProvableHQ/snarkVMcontractsApache-2.0
ProvableHQ/sdksdkGPL-3.0
ProvableHQ/leosdkGPL-3.0

Contracts

None listed.

Assessor notes

Unit: Aleo mainnet credits.aleo transfers, private path. Pins: snarkVM@29343ebb (v4.11.0), snarkOS@493fca39 (v4.11.0), sdk@9bbe5e63 (v0.12.0). Aleo addresses (aleo1..., bech32, 63 characters) and program IDs do not fit the schema's address formats, so chain reads (height, committee, deployed credits.aleo) were made through the Provable API and are recorded in repo evidence details with curl rechecks; C1, C2, S1 and S2 are capped accordingly. No transactions, node runs, builds, traces or self-host attempts were made.