Skip to main content

Decision

The PaymentChannel contract maintains a governance-managed allowlist of approved ERC-20 tokens. openChannel reverts if the token is not on the allowlist. Per-token rate bounds are set by governance.

Wire-level

  • payment_token: Address field in StreamRequest.
  • token_rates: Vec<TokenRate> alongside the single rate_per_mb in gossip advertisements. Nodes accepting only one token may retain the single-rate field for simplicity.
  • The EIP-712 Voucher type carries a token field — a single signature scheme handles all tokens.

Force-close

Channels in governance-removed tokens can be force-closed by any address via forceCloseChannel, entering the standard dispute/settle flow. This protects the network from abandoned channels in a delisted token without requiring a contract upgrade.

Token approval criteria

The allowlist is governance-managed. Evaluation criteria include:
  • Minimum market cap and liquidity depth
  • Audit history
  • Proxy-upgradeability constraints (fee-on-transfer introduced post-approval would break settlement math)
  • Geographic/legal constraints

Rate bounds per token

Each allowlisted token has its own [MIN_RATE, MAX_RATE], denominated in the smallest unit of that token per MB. Rates outside this band are clamped and may trigger a rate-manipulation challenge (slashing). Source ADR: 010-multi-token.md