# Multichain research payment terms

The research brief now records the network (CAIP-2), exact asset contract, decimals, recipient and base-unit amount. SHA-256 commits the complete ordered `terms` JSON. Every prepared brief remains **unfunded and unaccepted**. The ticker alone does not identify a token; token metadata is explicitly unverified.

## Networks and assets

| Family | Mainnet proposals | Prototype test chain |
|---|---:|---:|
| Ethereum | 1 | Sepolia 11155111 |
| Base | 8453 | Base Sepolia 84532 |
| Arbitrum | 42161 | Arbitrum Sepolia 421614 |
| Optimism | 10 | Optimism Sepolia 11155420 |
| Polygon | 137 | Amoy 80002 |
| BNB Chain | 56 | 97 |
| Avalanche C-Chain | 43114 | Fuji 43113 |
| Local EVM | — | 31337 |

Native currency, USDT, USDC, DAI and custom ERC-20 proposals are available. A named token is not claimed to exist on every selected network. Enter and independently verify its issuer's address and decimals on that chain. Fiat USD/EUR/GBP/BRL remains a separate proposal and configured Stripe workflow.

## Contract prototype

`MultiAssetResearchEscrow.sol` supports native currency or one exact-transfer ERC-20 asset per agreement. Roles, asset, expected chain ID, amount, terms hash and deadline are immutable. The client deposits, the researcher commits evidence, the client accepts or either party opens a dispute, the arbiter assigns the principal, and the beneficiary withdraws it. No automatic scientific acceptance, bridging, exchange, arbitrary payouts or administrative fund sweep.

Token calls handle `false` and legacy empty return data and check exact sender/recipient balance changes. Fee-on-transfer and rebasing tokens are not supported. A malicious or upgradeable token can still violate assumptions or freeze funds. An unavailable arbiter can lock a disputed principal indefinitely. This is an unaudited, testnet-only study; chain IDs do not prove network authenticity.

The original `ResearchEscrow.sol` wallet UI remains local/Sepolia native ETH only. **The new multichain prototype has no deployed address, wallet adapter or funded contract.** Mainnet choices prepare terms only. Solana/SPL, Bitcoin, TRON and cross-chain settlement require separate adapters and are not advertised as working integrations.

Run offline tests:

```sh
cd mac-runtime/contracts
npm ci --ignore-scripts --force
node compile-multiasset.mjs
node --test --test-concurrency=1 test/multiasset-native.test.mjs test/multiasset-token.test.mjs
```

`--force` addresses the existing Ganache lockfile's Darwin-only optional package entry on Linux; scripts remain disabled. All contract tests use in-process EVMs, not public networks or real funds. Compiled ABI and bytecode are in `MultiAssetResearchEscrow.json`.

References checked 2026-09-29:
- https://standards.chainagnostic.org/CAIPs/caip-2
- https://eips.ethereum.org/EIPS/eip-20

Robinhood Chain proposals are available (4663 mainnet / 46630 testnet, ETH). These chains are NOT allowed by this prototype contract; no deployment or payment support is implied. Official configuration checked 2026-09-29: https://docs.robinhood.com/chain/connecting/ . The separate EvidenceRegistry supports commitment anchoring, not payments.
