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.

AnomaPay

transferBNB Chain 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.

At a glance

Category
Protocols for privacy-preserving transfers
Chain
BNB ChainBNB Chain
CROPS tally
5 of 23 hold up · 2 no evidence
Security audits
8 published
Offered
All but 23 countries
Last edited
2026-10-13 · History
  1. Censorship Resistance1 WeakWeakest: Admin pause or freeze powers; Reliance on hosted services; Neutral settlement, disclosed filtering; Token and chain freeze risks disclosed
  2. Open0 FailsWeakest: Can be self-hosted
  3. Free0 FailsWeakest: Open-source licences
  4. Privacy No evidenceWeakest: Tracking and analytics
  5. Security0 FailsWeakest: Who holds funds in transit; Secrets and webhook handling

Where it is offered

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.

Excluded countries (23): Belarus, Burundi, Central African Republic, Congo - Brazzaville, Congo - Kinshasa, North Korea, Guinea, Guinea-Bissau, Iran, Iraq, Lebanon, Libya, Mali, Myanmar (Burma), South Sudan, Russia, Somalia, Sudan, Syria, Ukraine, Venezuela, Yemen, Zimbabwe

Evidence (1)1 documented
  1. Documented

    Section 2 lists the Prohibited Jurisdictions and reserves geo-restriction.

    anomapay.app/terms-and-conditions

    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).
  • Token and chain freeze risks disclosed reaching Partial: Enumerated in code, assumptions not stated.

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

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
  1. 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.

    anoma/pa-evm · contracts/src/ProtocolAdapter.sol

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

  2. Verified

    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.

    0xFC44…2B68 on sourcify.dev

    0xFC44…2B68 explorer · Sourcify · block 126599882 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  3. Verified

    The Safe has threshold 3 of 5 owners (0x6FAE…1A29, 0x0f3f…0bfA, 0x2218…2eAb, 0x95Ce…0507, 0x3db4…28bf), no modules, and a zero guard slot.

    0xE908…Da10 on sourcify.dev

    0xE908…Da10 explorer · Sourcify · block 126599882 · 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

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
  1. 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.

    anoma/pa-evm · contracts/src/ProtocolAdapter.sol

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

  2. Verified

    The adapter is not a proxy (EIP-1967 implementation slot zero) and its Sourcify source equals pa-evm contracts/v1.1.0.

    0xFC44…2B68 on sourcify.dev

    0xFC44…2B68 explorer · Sourcify · block 126599882 · checked 2026-10-09 · source unchanged at weekly re-read 2026-10-19

  3. Documented

    The SDK docs route mint, transfer and burn through the hosted proving backend.

    docs.anoma.net/transfers

    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

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
  1. Documented

    The SDK's API clients talk to the proving backend, the Indexer and an Envio GraphQL endpoint.

    docs.anoma.net/api-clients

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

  2. Documented

    The docs state users may run the off-chain services themselves.

    docs.anoma.net/anoma-pay-protocol-adapter

    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

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
  1. Verified

    Wrap and unwrap check only the Permit2 signature, amounts and balances; neither the forwarder nor the adapter checks addresses or countries.

    anoma/anomapay-erc20-forwarder · contracts/src/ERC20Forwarder.sol

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

  2. Documented

    The trust-model page says the proving service operator runs compliance checks.

    docs.anoma.net/anoma-pay-trust-model

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

  3. Documented

    The terms say the Foundation does not monitor transactions, and reserve geo-restriction.

    anomapay.app/terms-and-conditions

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

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

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
  1. Documented

    The SDK docs enumerate fee tokens USDC, USDT, WETH and XAN; the forwarder accepts any ERC20 (no token list in code).

    docs.anoma.net/api-clients

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

Open

Is the whole stack visible?

0 FailsPillar rating: weakest of 4
1 of 4 Partial or better

What would raise this pillar

  • Can be self-hosted reaching Weak: Docs exist; reproduction not attempted, or failed with blockers listed.

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-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
  1. 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.

    0xFC44…2B68 on sourcify.dev

    0xFC44…2B68 explorer · Sourcify · block 126599882 · checked 2026-10-09

Whole stack published

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
  1. 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.

    anoma/anoma-app-sdk · README.md

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

Can be self-hosted

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
  1. 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.

    anoma/anoma-app-sdk · README.md

    commit 7dc89bef87 · 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

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
  1. 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.

    docs.anoma.net/api-clients

    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
1 of 3 Partial or better

What would raise this pillar

  • Open-source licences reaching Weak: Source-available (BUSL, SSPL, ELv2, Commons Clause, custom) on a critical repo.

Open-source licences

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
  1. 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.

    anoma/pa-evm · contracts/LICENSE

    commit e368e2738d · 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

2 Partial

Best evidence: VerifiedChecked 2026-10-19 today

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

No CLA, no relicensing event, no written licence-stability commitment.

Evidence (1)1 verified
  1. Verified

    No CONTRIBUTING or CLA file at the root of pa-evm or the forwarder; no relicensing event found.

    anoma/pa-evm · contracts/LICENSE

    commit e368e2738d · 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

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
  1. Documented

    Every SDK operation ends in a call to the hosted proving backend.

    docs.anoma.net/transfers

    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?

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

What would raise this pillar

Tracking and analytics

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

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.

Data collected beyond payment

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
  1. Documented

    The proving service operator and Vast.ai datacenters see witness data (sender, receiver, asset, amount).

    docs.anoma.net/anoma-pay-trust-model

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

  2. Documented

    The terms list collected data including user info, invitation code, Ethereum address, device identity and IP address.

    anomapay.app/terms-and-conditions

    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

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
  1. 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).

    anoma/anomapay-erc20-forwarder · contracts/src/ERC20Forwarder.sol

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

  2. Documented

    The docs state deposit and withdrawal addresses are public, shielded transfers are not.

    docs.anoma.net/anoma-pay-privacy-guarantees

    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

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
  1. Documented

    Vast.ai datacenters see witness data during proving.

    docs.anoma.net/anoma-pay-trust-model

    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

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
  1. Documented

    The docs show the backend client constructed with a URL argument; the indexer code is not public.

    docs.anoma.net/api-clients

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

Security

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

0 FailsPillar rating: weakest of 6
1 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

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
  1. 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.

    anoma/anomapay-erc20-forwarder · contracts/src/bases/EmergencyMigratableForwarderBase.sol

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

  2. Verified

    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.

    0xc703…d6C4 on sourcify.dev

    0xc703…d6C4 explorer · Sourcify · block 126599882 · 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

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
  1. 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.

    0xDe6A…840e on sourcify.dev

    0xDe6A…840e explorer · Sourcify · block 126599882 · 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

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
  1. Verified

    _wrap pulls exactly the wrapped amount through Permit2 permitWitnessTransferFrom, with a deadline and the action-tree root as witness.

    anoma/anomapay-erc20-forwarder · contracts/src/ERC20Forwarder.sol

    commit 916cc7ed96 · 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: 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
  1. Documented

    The docs say users may run the off-chain services themselves; no public tooling does so.

    docs.anoma.net/anoma-pay-protocol-adapter

    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

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.

Audits and bug bounty

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
  1. 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.

    anoma/pa-evm · README.md

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

Security audits 8

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-12-19Informal SystemsAuditAnomaPay 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.
Partly1 critical, 2 medium, 5 informational; critical and mediums marked resolved
2025-11-24Informal SystemsAuditEVM 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.
Partly2 medium, 4 low, 9 informational; both mediums resolved in tag v0.8.2
2025-11-13NethermindAuditEVM 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.
Partly3 low, 3 informational, 2 best practices; 6 fixed, 2 acknowledged
2025-02-24VeridiseAuditShared 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.
Unknown4 critical, 1 high, 4 medium, 2 low, 19 warnings, 11 informational; all critical, high and medium fixed
2024-05-20HexensAuditShared 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.
Unknown1 high, 1 low, 1 informational
2023-10-31HexensAuditShared component: RISC Zero zkVM (executor, ELF loader, syscalls, circuits) at 323b5f58e4
An older zkVM version, superseded by the V2 circuit reviewed by Veridise.
Unknown1 high, 2 medium, 4 low, 3 informational; fixes in commit 83cf6867
2022-11-18ChainSecurityAuditShared 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.
Unknown1 high (corrected), 1 medium (risk accepted), 1 low (corrected)
2022-11-16ABDK ConsultingAuditShared component: Uniswap Permit2 contractsUnknown1 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
ComponentPaid byAmountBasis
providernoneDeposits freeLaunch post for the BNB Chain public beta; the terms say transactions are offered without fees apart from gas.
providerpayerBackend fee on transfers and withdrawals (flat + per-resource + percentage), in USDC, USDT, WETH or XANThe 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.

  1. Documented

    Terms and Conditions for AnomaPay, version 1.0, section 3.

    anomapay.app/terms-and-conditions

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

  2. Documented

    Anoma blog, 2 April 2026, BNB Chain public beta.

    anoma.net/blog/the-anomapay-public-beta-is-live-on-bnb-chain

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

  3. Documented

    SDK transfers page, fee estimation; estimateFee returns base_fee, base_fee_per_resource and percentage_fee in the chosen fee token.

    docs.anoma.net/transfers

    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).

Evidence shared with CROPS: S1 item 1, S1 item 2

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.

  1. 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.

    anomapay.app/terms-and-conditions

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

  2. 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).

    www.zefix.ch/ZefixREST/api/v1/firm/1463475.json

    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.

Evidence shared with CROPS: P3 item 2

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.

  1. 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).

    0xFC44…2B68 on sourcify.dev

    0xFC44…2B68 explorer · Sourcify · block 84845927 · checked 2026-10-09

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

Operating entity

Evidenced

Anoma Stiftung (Anoma Foundation), CH-ZG · CHE-264.379.335 · register

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.

  1. 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.

    www.zefix.ch/ZefixREST/api/v1/firm/1463475.json

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

  2. Documented

    The terms name Anoma Foundation in Zug as the counterparty.

    anomapay.app/terms-and-conditions

    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.

Also searched the Anoma blog index and docs; no incident or post-mortem found.

  1. Verified

    No published security advisories for anoma/pa-evm (anoma/anomapay-erc20-forwarder also has none).

    api.github.com/repos/anoma/pa-evm/security-advisories

    checked 2026-10-09

  2. Verified

    isEmergencyStopped() is false on the adapter and getEmergencyCaller() is zero on the forwarder at block 126642563, so the emergency path has never been used.

    0xFC44…2B68 on sourcify.dev

    0xFC44…2B68 explorer · Sourcify · block 126642563 · 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

Product changes affecting users

Evidenced
  • 2026-01-27: pa-evm contracts/v1.1.0 released, the version deployed on BSC (after the audited commits of Oct-Nov 2025). source
  • 2026-03-05: Protocol Adapter v1.1.0 deployed on BSC; ERC20 forwarder v1.0.1 deployed the next day. source
  • 2026-04-02: AnomaPay public beta opens on BNB Chain. source
  • 2026-06-02: AnomaPay V1 out of beta on BNB Chain and Ethereum. source
  • 2026-08-24: First pa-evm contracts/v2.0.0 release candidate; rc.9 on 2026-10-09. Not deployed on BSC. source

Neither contract is upgradeable, so no onchain upgrade events exist; the v2 contracts would be a new deployment.

  1. Verified

    Release list with publication dates (contracts/v1.1.0 2026-01-27; contracts/v2.0.0-rc.0 2026-08-24 to rc.9 2026-10-09).

    api.github.com/repos/anoma/pa-evm/releases

    checked 2026-10-09

  2. Documented

    Anoma blog, 2 June 2026.

    anoma.net/blog/anomapay-v1-is-live

    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

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?
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?
AttestedThe 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?
EvidencedInformal 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)?
Absentnone 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)?
EvidencedVulnerability 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?
Evidencedsome 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)?
EvidencedThe 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?
EvidencedThe 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?
EvidencedNo 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?
EvidencedThe 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?
Absentnone 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?
Evidencedsome 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?
Evidencedall of 5 repo(s): anoma/pa-evm ✓ 2 workflow file(s); anoma/anomapay-erc20-forwarder ✓ 2 workflow file(s); anoma/anoma-app-sdk ✓ 6 workflow file(s); anoma/arm-risc0 ✓ 1 workflow file(s); anoma/anomapay-erc20-resource ✓ 1 workflow file(s)
source 1 · source 2 · source 3 · source 4 · source 5
B9.3 Tests run in CI
Do the CI workflows run the test suite?
Evidencedall 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%)?
Absentnone of 5 repo(s): anoma/pa-evm ✗ coverage tooling referenced; anoma/anomapay-erc20-forwarder ✗ coverage tooling referenced; anoma/anoma-app-sdk ✗ coverage tooling referenced; anoma/arm-risc0 ✗ coverage tooling referenced; anoma/anomapay-erc20-resource ✗ coverage tooling referenced
source 1 · source 2 · source 3 · source 4 · source 5
B9.5 Versioned releases
Are releases tagged with immutable semantic versions?
Evidencedsome of 5 repo(s): anoma/pa-evm ✓ latest tags: v1.0.0-rc.4, v1.0.0-rc.3, v1.0.0-rc.2; anoma/anomapay-erc20-forwarder ✗ latest tags: contracts/v2.0.0-rc.7, contracts/v2.0.0-rc.6, contracts/v2.0.0-rc.5; anoma/anoma-app-sdk ✓ latest tags: v1.2.0, v1.1.0, v1.0.0; anoma/arm-risc0 ✓ latest tags: v2.0.0-rc.7, v2.0.0-rc.6, v2.0.0-rc.5; anoma/anomapay-erc20-resource ✓ latest tags: v3.0.0-rc.3, v3.0.0-rc.2, v3.0.0-rc.1
source 1 · source 2 · source 3 · source 4 · source 5
B9.6 Signed tags or commits
Are release tags or recent commits cryptographically signed?
Evidencedall of 5 repo(s): anoma/pa-evm ✓ 10 of 10 recent commits signed; anoma/anomapay-erc20-forwarder ✓ 10 of 10 recent commits signed; anoma/anoma-app-sdk ✓ 10 of 10 recent commits signed; anoma/arm-risc0 ✓ 8 of 10 recent commits signed; anoma/anomapay-erc20-resource ✓ 10 of 10 recent commits signed
source 1 · source 2 · source 3 · source 4 · source 5
B9.7 Changelog
Is a changelog maintained with the code?
Evidencedall of 5 repo(s): anoma/pa-evm ✓ 10 release(s) with notes; anoma/anomapay-erc20-forwarder ✓ 10 release(s) with notes; anoma/anoma-app-sdk ✓ CHANGELOG file; anoma/arm-risc0 ✓ 9 release(s) with notes; anoma/anomapay-erc20-resource ✓ 2 release(s) with notes
source 1 · source 2 · source 3 · source 4 · source 5
B9.8 Contribution and branching model documented
Does the README or contribution guide state how changes are proposed, reviewed and released?
Absentnone of 5 repo(s): anoma/pa-evm ✗ none found; anoma/anomapay-erc20-forwarder ✗ none found; anoma/anoma-app-sdk ✗ none found; anoma/arm-risc0 ✗ none found; anoma/anomapay-erc20-resource ✗ none found
source 1 · source 2 · source 3 · source 4 · source 5
Architecture documentation
B10.1 Architecture documentation
Is there a public architecture document covering logical, infrastructure and integration architecture and the components used?
EvidencedLogical 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?
EvidencedAnoma 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?
EvidencedFoundation-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?
AbsentThe 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?
Unknown
implied from the component list

Scope of assessment

Components in the payment path

ComponentRolePublicLicenceOperatorRequired
Protocol Adapter v1.1.0 (non-upgradeable)contractsYesMITAnoma Foundation Safe 0xE908…Da10 (3-of-5) holds emergencyStopYes
ERC20 Forwarder (holds deposited tokens; emergency migratable)contractsYesMITEmergency committee Safe 0xc703…d6C4 (3-of-5, same owners)Yes
RISC Zero verifier router and estop verifiercontractsYesApache-2.0RISC Zero router; verifier estop owned by the Anoma Safe 0xE908…Da10Yes
Uniswap Permit2 (deposit authorisation)contractsYesMITnone (immutable)Yes
Anoma Resource Machine proving library (arm-risc0)sdkYesApache-2.0user or proving serviceYes
AnomaPay ERC20 resource logic and circuitssdkYesnoneuser or proving serviceYes
anoma-app-sdk (keys, transfer building, API clients)sdkYesApache-2.0user's clientYes
Transaction and Proving Service (backend.anoma.money)backendNoproprietaryAnoma FoundationYes
Vast.ai GPU datacenters running the proverotherNoproprietaryVast.aiYes
AnomaPay Indexer (encrypted resource discovery)indexerNoproprietaryAnoma FoundationYes
Envio GraphQL endpoint (public nullifier index)indexerNoproprietaryEnvio (hosted)Yes
AnomaPay web app (anomapay.app; source repo not public)frontendNoproprietaryAnoma FoundationNo
BNB Smart Chain and a JSON-RPC endpointledgerYesLGPL-3.0BNB Chain validators; RPC chosen by the clientYes

Repositories

RepositoryRoleLicense
anoma/pa-evmcontractsMIT
anoma/anomapay-erc20-forwardercontractsMIT
anoma/anoma-app-sdksdkApache-2.0
anoma/arm-risc0sdkApache-2.0
anoma/anomapay-erc20-resourcesdknone

Contracts

RoleAddressSource verified
Protocol Adapter v1.1.0 (settlement, proof verification)0xFC44…2B68 explorer · Sourcifysourcify
ERC20 Forwarder v1.0.1 (holds wrapped tokens)0xDe6A…840e explorer · Sourcifysourcify
RISC Zero verifier router0x7C1B…39C7 explorer · Sourcifysourcify
RISC Zero verifier (estop) for selector 0x73c457ba0xBbcD…dC72 explorer · Sourcifysourcify

Assessor notes

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.