Today we are releasing cross-chain raw signing in Wallet-as-a-Service (Palisade). EVM wallets can now raw-sign transactions for chain IDs that Wallet-as-a-Service (Palisade) doesn't natively integrate. A new CHAIN_ID policy matcher controls access.
Cross-chain raw signing returns a signature only — no broadcast. You are responsible for submitting the signed transaction to the target chain.
Customers need to sign EVM transactions for chains that Wallet-as-a-Service (Palisade) hasn't yet onboarded — for example, custom L2s, testnets, or newer EVM chains. Previously, raw signing rejected any transaction whose chain ID didn't match the wallet's native blockchain. Cross-chain raw signing lifts that restriction for EVM wallets while keeping authorization under explicit policy control.
- Same endpoint — Cross-chain raw signing uses the existing raw transaction endpoint. No new endpoints, wallet types, or transaction actions.
- New
CHAIN_IDmatcher — Add aCHAIN_IDmatcher on a wallet policy to allow raw signing for a specific EVM chain ID. Wallet-as-a-Service skips policies without aCHAIN_IDmatcher for cross-chain transactions — you must explicitly authorize each chain ID. - Sign-only — Cross-chain raw signing forces
sign_only=true. Wallet-as-a-Service rejects requests withsign_only=falsefor a non-native chain ID with HTTP 400. - EVM-only — Available for EVM wallets only, for EVM chain IDs only.
- Natively-integrated chain IDs rejected — Wallet-as-a-Service rejects a
CHAIN_IDmatcher value that matches a chain it already integrates natively. Use the standard raw signing flow for those chains. - Matcher scoping — Combine
CHAIN_IDwithUSER,API_CREDENTIAL, or other matchers to scope cross-chain signing authority per user, per credential, or per counterparty.
Allow API credential cred-uuid to sign up to 5 transactions per 24 hours on chain ID 10 (Optimism):
{
"limitType": "ROLLING_DURATION",
"symbol": "ETH",
"limitQty": "5",
"duration": "86400s",
"matchers": [
{ "type": "CHAIN_ID", "value": "10" },
{ "type": "API_CREDENTIAL", "value": "cred-uuid" }
]
}