Pali 스마트 계정
Pali 스마트 계정은 Pali가 사용자를 위해 생성, 연결, 실행할 수 있는 contract account입니다. 일반 사용자에게는 지갑 계정처럼 보입니다. dapp 요청을 확인하고 passkey 또는 지갑 키로 승인하면 Pali가 transaction을 전송합니다. 내부적으로는 modular 구조이며 validator module이 action을 승인하고 executor module이 recovery 같은 기능을 추가합니다.
간단한 모델
- 하나의 account address가 자금을 보관하고 dapp도 그 주소를 봅니다.
- 계정은 passkey, ECDSA 또는 composite policy를 사용할 수 있습니다.
- Guardian recovery는 delay 후 active validator를 교체할 수 있습니다.
wallet_sendCalls는 여러 call을 하나의 atomic action으로 실행할 수 있습니다.
기술 모델
PaliSmartAccount는 call을 실행하고 ERC-7579-style module로 signature를 검증합니다. PaliSmartAccountFactory는 deterministic address를 계산하고 계정을 deploy합니다. Pali는 내부적으로 ERC-4337-style encoding을 사용하고 EIP-1271로 contract signature를 검증합니다.
두 가지 역할: validator는 서명하고 guardian은 복구합니다
ERC-7579는 module 역할을 분리하며, Pali는 이 분리를 의도적으로 활용합니다.
- Validator는 패스키, ECDSA, 복합 정책 등 일반적인 계정 승인의 서명을 검증합니다.
- Executor는 설치된 모듈을 통해 계정 작업을 실행할 수 있습니다. Pali의 가디언 모듈에는 설정된 임계값과 대기 시간이 필요합니다. 안내형 지갑 흐름은 활성 검증기를 교체하지만 온체인 모듈은 해당 UI 작업으로만 제한되지 않습니다.
따라서 가디언은 계정에 대한 지연된 권한을 갖습니다. 임계값을 충족하는 가디언이 침해되면 제어권과 자금이 위험해집니다. 현재 소유자는 대기 중에 대응할 수 있지만 악의적인 실행 전에 보호 작업이 확정되어야 합니다. 가디언 복구를 참고하세요.
Composite 서명 policy
composite validator는 자식 validator를 threshold 아래에서 결합하여 하나의 계정을 policy engine으로 만듭니다.
- 1-of-N — 여러 authenticator 중 어느 것으로든 승인할 수 있습니다. 각 기기에 passkey를 두는 개인 계정에 편리합니다.
- t-of-N — 정족수가 승인해야 합니다. 공유 treasury, 데스크, 팀이 관리하는 계정에 자연스러운 형태입니다.
- N-of-N — 설정된 모든 validator가 승인해야 합니다. 최대 보증이 필요한 계정용입니다.
현재 Pali는 로컬에서 사용 가능한 내장 자식 검증기의 승인을 임계값까지 수집합니다. 이 버전은 중첩된 복합 정책이나 외부·다른 기기의 승인 수집을 지원하지 않습니다. 가디언 복구는 활성 검증기 정책과 독립적입니다.
Validator 민첩성과 post-quantum 대비
설정된 네트워크에서 Pali는 지갑 소유 ECDSA, P-256 WebAuthn 패스키, SLH-DSA 및 복합 검증기를 지원합니다. 해당 온체인 모듈이 배포되어 있고 필요한 로컬 키나 자격 증명을 사용할 수 있어야 합니다. 교체 가능한 모듈을 통해 향후 서명 방식도 같은 계정 주소에 도입할 수 있습니다. 검증기를 바꿔도 자금, 기록, 연동은 이동하지 않습니다.
가디언 모듈은 일반 주소의 ECDSA 승인과 계약 계정의 ERC-1271 승인을 검증합니다. Pali는 로컬 키 기반 가디언과 서명 가능한 배포된 로컬 스마트 계정 가디언(SLH-DSA 포함)을 사용할 수 있습니다. 로컬에서 서명할 수 없는 외부 가디언에는 외부 승인 흐름이 필요합니다.
기관과 팀을 위해
기관은 Pali 스마트 계정을 단순한 passkey login이 아니라 account infrastructure로 다뤄야 합니다. Passkey는 쉬운 onboarding에, ECDSA 또는 composite validator는 팀이나 hardware wallet control에, guardian recovery는 delay가 있는 교체 경로에 적합합니다. Deployment와 execution을 위해 gas payer 계정도 funded 상태여야 합니다.
dapp이 external ECDSA owner를 요청하면 Pali는 별도로 경고합니다. 그 주소는 이후 계정 action을 승인할 수 있기 때문입니다.
Dapp method
const account = await window.ethereum.request({
method: 'wallet_prepareSmartAccount',
params: [{ label: 'Trading account', authenticator: { id: 'p256-webauthn' } }],
});
지원 네트워크
Pali 스마트 계정은 Pali가 기대하는 주소에 Pali factory와 module이 존재하는 호환 EVM 체인에서 사용할 수 있습니다. 이는 Pali가 운영하는 체인으로 제한되지 않습니다. 활성 체인이 canonical CREATE2 deployer를 제공하면 Pali가 누락된 스마트 계정 설정을 지갑 안에서 배포할 수 있습니다. Pali Settings를 열고 Advanced로 이동한 뒤 Smart account setup의 Deploy 버튼을 사용하세요.
Passkey validator에는 P-256 WebAuthn 검증 지원이 필요합니다. 많은 최신 EVM 환경은 P-256/passkey precompile로 이를 제공하지만, passkey validator에 의존하기 전에 체인 지원을 확인해야 합니다.
사용자 제어

사용자는 승인 전에 요청한 사이트, 계정 라벨, 요청된 authenticator, 외부 ECDSA owner 주소를 확인할 수 있습니다. Pali가 새 passkey credential이 필요하면 브라우저 또는 운영체제가 WebAuthn 프롬프트를 표시합니다. 스마트 계정이 dapp에 연결되기 전에 Pali는 배포, 모듈 설치, 확인 진행 상황을 보여줍니다.