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.
AnomaPay
transfer Assessed on BNB Chain (chain 56)anomapay.app
Ratings apply to this deployment only. Treat them as unverified for other chains. Why this deployment: Anoma's launch post and press release (2 Apr 2026) put the AnomaPay public beta on BNB Chain, and pa-evm bindings/src/addresses.rs (L32-L35) and the forwarder's addresses.rs map BinanceSmartChain to protocol adapter 0xFC44…2B68 and ERC20 forwarder 0xDe6A…840e. Unit: those two contracts and the RISC Zero verifier they call. Excluded: deployments on Ethereum, Base, Optimism, Arbitrum, Monad, Stable, MegaETH and Aurora (Base had a private beta), and the Solana adapter.
Offered everywhere except the countries listed. Checked 2026-10-09. Not scored.
From the AnomaPay terms (Version 1.0), which name SECO-embargoed "Prohibited Jurisdictions" as "including, but not limited to" this list, so it is not exhaustive. "Congo" is not specified; we list both CG and CD (more restrictive reading). The clause as published reads "are using the Software from one of the countries embargoed", apparently a drafting error for "are not". The terms also bar persons under UN, US, EU or Swiss sanctions and commercial use, and reserve geo-restriction. The contracts have no address or country check; we did not inspect the closed app for a geoblock.
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Censorship Resistance
Who can block valid use, and can users route around them?
1 WeakPillar rating: weakest of 5 1 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.
Reliance on hosted services reaching Partial: Required intermediaries exist and their self-host code is public, but no fallback is configured by default.
Neutral settlement, disclosed filtering reaching Partial: Settlement contracts are neutral and edge filtering is disclosed, but it cannot be bypassed (C2 below 2).
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
A 3-of-5 Safe with no modules or guard can stop the protocol adapter for good, and it also owns the RISC Zero verifier whose pause stops the adapter. There is no timelock, and we found no public list of signers. The stop is global, not per-address. Scored 1.
Evidence (3)3 verified
Verified
At tag contracts/v1.1.0 (identical to the Sourcify source of 0xFC44…2B68), emergencyStop() is onlyOwner and pauses the adapter permanently (there is no unpause); isEmergencyStopped() also returns true if the RISC Zero verifier is paused. execute() is whenNotPaused, so a stop halts deposits, transfers and withdrawals.
owner() is the Safe 0xE9082Ac8Aa2Fb27DEfDBAC604921C196b884Da10 and isEmergencyStopped() is false at block 126599882; the RISC Zero verifier 0xBbcD…dC72 behind selector 0x73c457ba is also owned by that Safe.
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
Anyone can submit a valid transaction to the adapter, so settlement without Anoma is possible in principle, and the docs say users may run the off-chain infrastructure themselves. But the documented client flow submits every mint, transfer and burn to the hosted proving backend, and no public client builds and proves a transaction end to end. Judgment call: 2, possible but undocumented, reconstructable from verified source.
Evidence (3)2 verified · 1 documented
Verified
execute(transaction) is external with no caller check; validity rests on RISC Zero proofs, which arm-risc0 (Apache-2.0) and anomapay-erc20-resource can produce.
Does the payment flow require a relayer, paymaster, bundler, or API that only the provider runs? C3
1 Weak
Sets the pillar ratingBest evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The transaction service, prover and indexer are required in the documented flow and are run by Anoma; none of their code is among the anoma GitHub org's public repos. The docs say users can run this infrastructure themselves, but no code or fallback is published. Scored 1: required, documented, no public code.
Evidence (2)2 documented
Documented
The SDK's API clients talk to the proving backend, the Indexer and an Envio GraphQL endpoint.
Is the settlement layer free of address or geographic filtering, and is any filtering at the edge disclosed and avoidable? C4
1 Weak
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The settlement contracts are neutral. Filtering, if any, sits in the closed proving service: the docs say its operator "implements consistent checks" for KYC and AML, while the terms say the Foundation does not monitor transactions. No list source is named and no code is public, and the direct path is not practically available (C2). Scored 1: disclosed in documents only, and the two documents disagree.
Evidence (3)1 verified · 2 documented
Verified
Wrap and unwrap check only the Permit2 signature, amounts and balances; neither the forwarder nor the adapter checks addresses or countries.
Are the tokens and chains the rail depends on enumerated, with their issuers' freeze powers and sequencer assumptions stated to payees? C5
1 Weak
Sets the pillar ratingBest evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Supported tokens appear only in documentation and the launch post (ETH, USDC, USDT, XAN, with a $500 beta deposit cap claimed there); the forwarder holds whatever ERC20 is wrapped. No statement to payees about issuer freeze powers or BNB Chain's validator set. Scored 1: enumerated in docs only.
Evidence (1)1 documented
Documented
The SDK docs enumerate fee tokens USDC, USDT, WETH and XAN; the forwarder accepts any ERC20 (no token list in code).
Does the deployed bytecode match public source, and can a third party rebuild it? O1
2 Partial
Best evidence: VerifiedChecked 2026-10-09 10 days ago
UnreviewedAssessed by AI research agent (seed), 2026-10-09
All settlement contracts are partial Sourcify matches, and the adapter source equals the tagged release. No rebuild attempted. Scored 2.
Evidence (1)1 verified
Verified
Sourcify returns match (creation and runtime) for the adapter, the forwarder 0xDe6A…840e, the RISC Zero router 0x7C1B…39C7 and the verifier 0xBbcD…dC72; none is an exact_match.
Are the SDK, frontend, backend or API, indexer, and deploy scripts all public? O2
1 Weak
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Contracts, SDK and proving libraries are public; the web app, transaction and proving service, and indexer are not. Scored 1.
Evidence (1)1 verified
Verified
The SDK README cites the audited frontend repo anoma/pay-interface-app, which returns 404 to the GitHub API; the org's public repos include contracts, SDK and proving libraries but no transaction service, prover service or indexer.
Can a stranger reach a working deployment from the README? O3
0 Fails
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
A stranger can deploy the contracts (pa-evm has deploy scripts) but cannot stand up the transaction, proving and indexing services the client flow needs, because their code is not published. Judgment call: 0, no path, rather than 1, since the missing pieces are code, not documentation.
Evidence (1)1 verified
Verified
The SDK describes itself as API clients for AnomaPay backend services; the backend those clients need is not public, so no README leads to a working deployment.
Are ABIs, event schemas, an API schema, and a payee data export in a non-proprietary format all in the repo? O4
1 Weak
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Interfaces are documented on a hosted site, not versioned with code; no payee export. Scored 1.
Evidence (1)1 documented
Documented
The backend, indexer and Envio APIs are described on the hosted docs site only; contract events are in source, with no committed ABI JSON or API schema in the repos.
Does every repository needed to run the product carry an OSI-approved license? F1
0 Fails
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The transaction and proving service and the indexer are required and closed, so F1 is 0. The resource-logic repo needed to prove AnomaPay transfers also has no licence.
Evidence (1)1 verified
Verified
pa-evm and the forwarder carry MIT under contracts/LICENSE (no root licence, so GitHub reports none); anoma-app-sdk and arm-risc0 are Apache-2.0; anomapay-erc20-resource has no licence.
Does a production deployment need a proprietary plugin or hosted-only service? F3
1 Weak
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The documented production flow needs Anoma's hosted proving, transaction and indexing services, with no open alternative published. Client-side proving is announced as future work. Scored 1.
Evidence (1)1 documented
Documented
Every SDK operation ends in a call to the hosted proving backend.
Does the flow collect anything beyond addresses, amounts, token, and chain? P2
1 Weak
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Beyond settlement data, the service collects account, device and network data and sees every transfer's sender, receiver, asset and amount in clear while proving; the docs also mention KYC/AML checks. Disclosed in documents. Scored 1.
Evidence (2)2 documented
Documented
The proving service operator and Vast.ai datacenters see witness data (sender, receiver, asset, amount).
What do calldata and events reveal about who paid whom for what? P3
2 Partial
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Deposits and withdrawals reveal address, token and arbitrary amount; shielded transfers between AnomaPay users carry only tags and payload blobs and are submitted by the service, not the user. We did not verify from code that payload blobs are encrypted end to end (the SDK has AES-GCM helpers). Judgment call: 2, minimal linkage documented; not 3 because entry and exit amounts are plaintext and the payload encryption was not traced. The proving service sees everything (P2, P4).
Evidence (2)1 verified · 1 documented
Verified
Wrapped(token, from, amount) and Unwrapped(token, to, amount) are emitted in plaintext; the adapter emits tags, logic refs and resource payload blobs (ProtocolAdapter.sol L344-L385).
Which third parties see a request during a payment, and can they be swapped out? P4
1 Weak
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The proving service, Vast.ai, the indexer and an Envio GraphQL endpoint sit in the payment path; they are named in docs but not shown in public code. Scored 1.
Evidence (1)1 documented
Documented
Vast.ai datacenters see witness data during proving.
Can RPC and indexer URLs be changed, and is the indexer code public? P5
1 Weak
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The SDK docs show endpoint URLs passed as constructor arguments, but the clients are not in the public SDK source at our commit, the web app is closed, and the indexer cannot be self-hosted. Scored 1.
Evidence (1)1 documented
Documented
The docs show the backend client constructed with a URL argument; the indexer code is not public.
Who holds funds between payer and payee, and can the provider redirect them? S1
0 Fails
Sets the pillar ratingBest evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Deposited tokens sit in the non-upgradeable forwarder and move out only through proven adapter transactions, unless the adapter is stopped. The same five signers can stop the adapter (3-of-5) and, as emergency committee (3-of-5), appoint a caller who can send the forwarder's tokens anywhere, with no timelock. The docs say funds "can only be moved with a valid proof", which the code does not bear out. Scored 0: the provider can redirect funds.
Evidence (2)2 verified
Verified
Once the adapter is stopped, the emergency committee sets an emergency caller once, and that caller's forwardEmergencyCall runs _forwardCall directly (ERC20Forwarder.sol L174-L180), so it can unwrap any amount to any receiver without a proof.
The forwarder's constructor argument emergencyCommittee (Sourcify) is the Safe 0xc703…d6C4, threshold 3 with the same five owners as the adapter owner; getEmergencyCaller() is zero and the forwarder held about 1,477 USDC and 5,458 USDT at block 126599882.
Who can change the contract code, and with how much notice? S2
1 Weak
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
The contract code cannot be changed, but the stop-and-migrate path lets a 3-of-5 multisig move all funds to a new adapter version of its choosing, which works as an upgrade. Judgment call: we treat that as upgrade authority and score 1 (multisig, no timelock) rather than 3.
Evidence (1)1 verified
Verified
Neither the forwarder nor the adapter is a proxy (EIP-1967 implementation slot zero); the forwarder's emergency migration is controlled by the 3-of-5 committee Safe with no timelock.
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
Deposits use Permit2 signature transfers of the exact amount with expiry (the docs example uses 30 minutes), which fits anchor 3. A 3 needs a package or trace, and we did not see how large a base approval to Permit2 the closed app requests. Judgment call: 2.
Evidence (1)1 verified
Verified
_wrap pulls exactly the wrapped amount through Permit2 permitWitnessTransferFrom, with a deadline and the action-tree root as witness.
If the provider disappears tomorrow, do payees keep their funds and the ability to keep settling? S4
1 Weak
Best evidence: DocumentedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Derived from S1=0, C2=2, C3=1, O3=0. If Anoma disappeared, funds would stay in the forwarder (no one stops the adapter by disappearing), and execute() stays open. But retrieving them needs a self-built prover pipeline from arm-risc0 and the unlicensed resource logic, plus resource discovery without the hosted indexer; this is claimed in docs, not shown by public code. Judgment call: 1.
Evidence (1)1 documented
Documented
The docs say users may run the off-chain services themselves; no public tooling does so.
Has the code been audited at a pinned commit, were findings fixed traceably, and is there a live bounty? S6
1 Weak
Best evidence: VerifiedChecked 2026-10-19 today
UnreviewedAssessed by AI research agent (seed), 2026-10-09
Audit reports exist and are pinned to commits, but the deployed adapter was built from a later tag, findings were not traced to fix commits here, and we found no bug bounty. Scored 1.
Evidence (1)1 verified
Verified
The README lists audits by Informal Systems (commit fc69013e, Oct 2025) and Nethermind (commit fee4f470, tag v1.0.0-rc.4) with PDFs in audits/, and a security contact email; the forwarder README lists an Informal Systems audit of commit 03e60b64 (Dec 2025). The deployed adapter is tag contracts/v1.1.0 (e368e273, 2026-01-27), after the audited commit.
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.
AnomaPay Phase I - ERC20 forwarder contracts (V1/V2 with migration), ERC20 resource logic and witness libraries, and the frontend key-management vault at 03e60b64d9 The same PDF sits in anomapay-erc20-resource and anoma-app-sdk; the SDK README ties it to commit 957e8bf1 of anoma/pay-interface-app, which is not public. The deployed forwarder tag contracts/v1.0.1 is 216 commits after the audited commit and changes ERC20Forwarder.sol and its bases.
EVM Protocol Adapter contracts and the Anoma Resource Machine RISC Zero implementation (arm-risc0 circuits, encryption and authorization modules) at fc69013e7b Audit ran 2025-10-13 to 2025-10-31; arm-risc0 was reviewed at commit 61e68468. The deployed adapter (tag contracts/v1.1.0, e368e273) is 306 commits later and changes ProtocolAdapter.sol and the proving libraries.
Partly
2 medium, 4 low, 9 informational; both mediums resolved in tag v0.8.2
EVM Protocol Adapter contracts and Anoma Resource Machine circuits (security review NM-0677) at fee4f47050 Audited at pa-evm tag v1.0.0-rc.4 and arm-risc0 commit a0cca9cd. The deployed adapter v1.1.0 is 224 commits later with changes to ProtocolAdapter.sol and the proving libraries.
Shared component: RISC Zero zkVM V2 RISC-V circuit, STARK-to-STARK and STARK-to-SNARK recursion circuits, STARK verifiers and prover Reviewed risc0/risc0 at commits a6159d9 and 35c65de (Jul-Dec 2024). We did not tie the verifier selector used on BSC to a zkVM release.
Unknown
4 critical, 1 high, 4 medium, 2 low, 19 warnings, 11 informational; all critical, high and medium fixed
Shared component: RISC Zero EVM verifier contracts (RiscZeroGroth16Verifier, Groth16Verifier, RiscZeroVerifierRouter, RiscZeroVerifierEmergencyStop) Reviewed 2024-05-13 to 2024-05-20 on the main branch; the report gives no pinned commit.
Shared component: RISC Zero zkVM (executor, ELF loader, syscalls, circuits) at 323b5f58e4 An older zkVM version, superseded by the V2 circuit reviewed by Veridise.
Shared component: Uniswap Permit2 (AllowanceTransfer, SignatureTransfer, Permit2Lib) Initial version e3e496f5 (2022-10-25) with fix versions to 2022-11-18. We did not compare the BSC Permit2 bytecode with the final reviewed version.
Unknown
1 high (corrected), 1 medium (risk accepted), 1 low (corrected)
1 critical, 12 major and lesser issues; the critical fixed, unfixed majors judged not a threat per client comments
Compiled from: The Audits sections and audits/ folders of github.com/anoma/pa-evm, anomapay-erc20-forwarder, arm-risc0, anomapay-erc20-resource and anoma-app-sdk; for the shared components, the audit log at github.com/risc0/rz-security (RISC Zero zkVM, recursion circuits and EVM verifier contracts) and the audits/ folder of github.com/Uniswap/permit2. Deployed code was compared with audited commits through GitHub's compare API. The RISC Zero log also lists a Veridise audit of the next-generation M3 zkVM (Feb 2026) and audits of Steel, Kailua, Boundless and Solana verifiers, which are not in this payment path and are left out. 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: 16 evidenced, 1 attested, 5 absent, 0 not applicable, 23 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
Component
Paid by
Amount
Basis
provider
none
Deposits free
Launch post for the BNB Chain public beta; the terms say transactions are offered without fees apart from gas.
provider
payer
Backend fee on transfers and withdrawals (flat + per-resource + percentage), in USDC, USDT, WETH or XAN
The transaction service pays BSC gas and deducts the fee from the token sent; amounts come from backend.estimateFee and are not published. The terms describe the charge as gas, the launch post as small fees.
No fee amounts or gas sample recorded. Fee quotes need a built transaction posted to the backend (not done), and public BSC RPCs refuse historical log queries, so no settled transaction was sampled. Neither contract charges a fee.
Documented
Terms and Conditions for AnomaPay, version 1.0, section 3.
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
Custody model
Evidenced
Hybrid: self-custody with a provider-controlled spend path
Judgment call. In normal operation only a proof built from the user's keys moves tokens out of the non-upgradeable forwarder, and the terms call AnomaPay non-custodial. The S1 finding (score 0) shows that after a permanent adapter stop the same 3-of-5 signers can appoint an emergency caller who can send the forwarder's tokens anywhere. That is provider control over funds at rest, but only behind a public, irreversible stop, so hybrid rather than provider_custodial; a reviewer may prefer provider_custodial (as for Payy).
UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09
Licences and registrations
Absent
Searched: the terms, docs.anoma.net (trust model, compliance paragraph) and the Zefix entry. Not searched: FINMA's register of authorised institutions and the Swiss SRO member lists (interactive searches). The docs say the proving service operator runs KYC/AML checks; no licence is cited for it.
Documented
The terms describe a non-custodial wallet service by Anoma Foundation and cite no licence, SRO membership or regulator; they state the Foundation does no transaction monitoring.
checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19
Documented
Zefix (Swiss central business name index) entry for Anoma Stiftung, a foundation supervised by the Federal Department of Home Affairs; no financial-market authorisation is recorded there (Zefix does not record them).
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
Cash-out options
N/A: falls to the institution
A withdrawal (burn) sends tokens to an EVM address the user names; converting them to local currency is outside the protocol. The AnomaPay Card advertised on the landing page was not assessed.
UnreviewedAssessed by AI research agent (operational), 2026-10-09Checked 2026-10-09
First deployment
Evidenced
2026-03-05 (block 84845927): Protocol Adapter v1.1.0 0xFC44…2B68 on BNB Smart Chain, tx 0x3c145e76…93c7 from 0xcD56…Db7b; the ERC20 forwarder 0xDe6A…840e followed on 2026-03-06 (block 85055504).
The public beta opened on BNB Chain on 2026-04-02.
Verified
Sourcify creation data gives tx 0x3c145e76e65329f6152b20b6ea76158c34c5cd318759c727088e145bee2f93c7 in block 84845927 (2026-03-05 16:06:13 UTC per the block header); for the forwarder, tx 0x0d97fadbf2da722aa6327b38f66a547af0fe75d2a744721c5b0402a20154dc2d in block 85055504 (2026-03-06 18:18:18 UTC).
The terms still give the earlier address (Gotthardstrasse 26); the register moved the seat address to Dammstrasse 16 in May 2026. The 2025 announcement says AnomaPay is developed by Heliax; the operating counterparty in the terms is the Foundation.
Documented
Zefix record for Anoma Stiftung, seat Zug, status existing, foundation under federal supervision; seat address Dammstrasse 16, Zug since the publication of 2026-05-11.
isEmergencyStopped() is false on the adapter and getEmergencyCaller() is zero on the forwarder at block 126642563, so the emergency path has never been used.
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
Volume transacted (verified only)
Unknown
not computed on 2026-10-19: no blocks-per-day estimate for chain 56
Not computed; BSC log ranges need an archive RPC (RPC_56). A token_topic option in scripts/volumes.mjs would allow per-token sums.
UnreviewedAssessed by AI research agent (operational), 2026-10-09
Group B: institutional due diligence
Control
State
What 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?
Unknown
No ISO 27001 statement for Anoma Foundation or Heliax in the terms, docs or site.
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?
Attested
The docs say the Vast.ai datacenters that run the prover provide ISO certifications; no certificate, standard, entity or scope is named. Hosting of the transaction service and indexer is not described. source 1
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?
Unknown
No SOC 2 or ISAE report or statement of availability found.
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?
Evidenced
Informal Systems (commit fc69013e, Oct 2025) and Nethermind (fee4f470, Oct-Nov 2025) audited the protocol adapter, and Informal Systems the forwarder (03e60b64); the deployed adapter tag is later. No review of the hosted transaction service, prover or indexer is listed. CROPS S6
B1.5 Penetration testing Is the service penetration-tested before go-live and at least every three years, with results available?
Unknown
No penetration test of the backend, indexer or web app found.
B1.6 Vulnerability scanning cadence Are the platform and the application scanned for vulnerabilities at least every six months?
Unknown
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)?
Absent
none of 5 repo(s): anoma/pa-evm ✗ no security policy file; anoma/anomapay-erc20-forwarder ✗ no security policy file; anoma/anoma-app-sdk ✗ no security policy file; anoma/arm-risc0 ✗ no security policy file; anoma/anomapay-erc20-resource ✗ no security policy file source 1 · source 2 · source 3 · source 4 · source 5
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)?
Evidenced
Vulnerability reports go to security@anoma.foundation with a promise to resolve them "promptly"; no per-severity patch timelines. source 1
B2.3 Dependency and vulnerability scanning in CI Do the public repositories run dependency or code scanning automatically?
Evidenced
some of 5 repo(s): anoma/pa-evm ✓ scanning step in a workflow; anoma/anomapay-erc20-forwarder ✓ scanning step in a workflow; anoma/anoma-app-sdk ✗ no scanning config or workflow step found; anoma/arm-risc0 ✓ scanning step in a workflow; anoma/anomapay-erc20-resource ✗ no scanning config or workflow step found source 1 · source 2 · source 3 · source 4 · source 5
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)?
Evidenced
The Foundation has breach procedures and will notify users and regulators of a personal data breach only where legally required; no time commitment. source 1
B3.2 Backups and restore testing Are customer records backed up daily and restores tested on a schedule?
Unknown
B3.3 Recovery plan Is there an approved and tested recovery plan for the service?
Unknown
No recovery plan published. The docs say users may run the off-chain services themselves, but no code for them is public (S4 = 1). CROPS S4
B3.4 Status page and post-mortems Does the provider publish service status and post-mortems for incidents?
Unknown
No status page found (status.anoma.net does not resolve) and no post-mortems.
Identity and access (operator side)
B4.1 MFA for end users Can or must end users protect accounts with multi-factor authentication?
Unknown
Users sign in with a wallet or a passkey account (launch post); no statement on MFA.
B4.2 MFA and separate accounts for privileged access Is privileged access protected by MFA and kept on separate accounts?
Unknown 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?
Unknown 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?
Unknown implied from the component list
B4.5 Session timeout Are idle interactive sessions terminated after a defined period (the partner expects 60 minutes)?
Unknown 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?
Unknown
The SDK's TransferBackendClient, IndexerClient and EnvioClient take only a base URL in the docs; no authentication scheme is documented, and the backend code is closed.
B5.2 API authentication, server to server Are server-to-server calls authenticated with keys or PKI certificates, and are keys scoped and rotatable?
Unknown implied from the component list
B5.3 Token expiry Do API tokens expire, and within what period (the partner caps it at 120 minutes for public data, 30 otherwise)?
Unknown implied from the component list
B5.4 Export controls If an API exports data, does it limit volumes and log exports?
Unknown 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?
Evidenced
The terms state appropriate organisational and technical measures, with no detail; the trust model says the prover operator and Vast.ai see unencrypted witness data during proving. Observed: anomapay.app refuses TLS 1.1 and accepts TLS 1.2. No data classification. source 1 · source 2 CROPS P2
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?
Unknown 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?
Evidenced
No fixed periods; data kept as long as needed for its purpose and legal retention duties, then destroyed. Onchain data cannot be erased. source 1 CROPS P2
B6.4 Data protection impact assessment and roles For systems holding personal data, has a DPIA been completed and are controller and processor defined?
Evidenced
The Foundation processes personal data under GDPR and the Swiss FADP; the terms do not use the words controller or processor for it. Recipients are named by category only. No DPIA mentioned. source 1
B6.5 Data processing or sharing agreement available Can a customer obtain a data processing agreement or equivalent?
Unknown
No DPA published; the terms prohibit commercial use, so no business-customer terms exist for the consumer app. The AnomaPay Business beta was not assessed.
Logging and monitoring
B7.1 Audit logging Are account changes, logins and activity on important records logged and retained?
Unknown 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?
Unknown 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?
Unknown 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?
Absent
none of 5 repo(s): anoma/pa-evm ✗ no deployment configuration; anoma/anomapay-erc20-forwarder ✗ no deployment configuration; anoma/anoma-app-sdk ✗ no deployment configuration; anoma/arm-risc0 ✗ no deployment configuration; anoma/anomapay-erc20-resource ✗ no deployment configuration source 1 · source 2 · source 3 · source 4 · source 5
Engineering practice in public repositories
B9.1 Default branch protected Does the default branch require reviews and passing checks, with no direct pushes?
Evidenced
some of 5 repo(s): anoma/pa-evm ✓ rules: deletion, non_fast_forward, required_signatures, pull_request, required_status_checks; anoma/anomapay-erc20-forwarder ✓ rules: deletion, non_fast_forward, required_signatures, pull_request, required_status_checks; anoma/anoma-app-sdk ✓ rules: deletion, non_fast_forward, pull_request; anoma/arm-risc0 ✗ no branch rules visible (classic branch protection is not readable without push access); anoma/anomapay-erc20-resource ✗ no branch rules visible (classic branch protection is not readable without push access) source 1 · source 2 · source 3 · source 4 · source 5
B9.2 CI runs on pull requests Does every pull request trigger automated checks?
B9.3 Tests run in CI Do the CI workflows run the test suite?
Evidenced
all of 5 repo(s): anoma/pa-evm ✓ test command in a workflow; anoma/anomapay-erc20-forwarder ✓ test command in a workflow; anoma/anoma-app-sdk ✓ test command in a workflow; anoma/arm-risc0 ✓ test command in a workflow; anoma/anomapay-erc20-resource ✓ test command in a workflow source 1 · source 2 · source 3 · source 4 · source 5
B9.4 Coverage reported Is test coverage measured and reported (the partner expects 85%)?
B10.1 Architecture documentation Is there a public architecture document covering logical, infrastructure and integration architecture and the components used?
Evidenced
Logical and integration views on docs.anoma.net (architecture overview and transaction lifecycle, trust model, protocol adapter, SDK API clients); no infrastructure view of the hosted services. source 1 CROPS O4
Commercial and financial
B11.1 Contracting entity Which legal entity would an institution contract with, and in which jurisdiction?
Evidenced
Anoma Foundation (Anoma Stiftung, CHE-264.379.335), Zug, Switzerland; Swiss law, courts of Zug. Personal, non-commercial use only under these terms. source 1 · source 2
B11.2 Funding of ongoing operation How is ongoing operation and maintenance funded (revenue, foundation, grants, fee switch), per a primary source?
Evidenced
Foundation-funded. The registered purpose lets the Foundation issue project tokens (XAN) and spend its assets to fund development, which it may outsource; user fees cover gas and small transfer and withdrawal fees. source 1
B11.3 Termination terms What happens to customer funds and data on termination by either side?
Absent
The terms have no termination clause and say nothing about funds or data on termination; the user's only remedy for changed terms is to stop using the Software. Funds stay in the forwarder; without the hosted services there is no public tooling to move them (S4 = 1). source 1 CROPS S4
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)?
Unknown
The docs say the proving service operator runs checks for KYC and AML compliance, while the terms say the Foundation does no transaction monitoring; neither says how checks work or whether AI is used. The prover code is closed. CROPS C4 · CROPS C4
B12.2 AI controls documented If AI is used, are monitoring, validation, override, decommissioning and bias evaluation documented?
Unit: the BNB Smart Chain protocol adapter (v1.1.0) and ERC20 forwarder used by the AnomaPay public beta, with the RISC Zero verifier they call. BSC reads at blocks 126599704 (adapter owner, stop state) and 126599882 (Safes, forwarder state, balances); publicnode serves only recent BSC state, so rechecks use the latest block. Operator: Anoma Foundation (Zug) per the terms. The anomapay.app landing page also advertises an "AnomaPay Card"; card products were not assessed. No transactions, app runs, traces or self-host attempts.