SSP Wallet v1.15.0이 dApp을 위한 문을 더 넓게 엽니다. 이번 릴리스는 SSP Wallet API를 어떤 웹사이트와도 대화할 수 있는 범용 표면으로 확장합니다. 지갑에게 필요한 정보를 묻고, 지갑이 제공할 수 있는 동작을 사용자에게 제안합니다 — 그러면서도 키에는 결코 손대지 않습니다. SSP Connect 안의 단 하나의 pay 동작으로 시작했던 것이 이제는 진짜 통합 플랫폼으로 자라났고, 공개 명세인 SSP_Wallet_API.md를 두고 개발자들은 오늘부터 빌드를 시작할 수 있습니다.
Pay에서 완전한 API로
SSP Connect의 첫 버전은 v1.1.0과 함께 출시되어 정확히 하나의 외향 동작을 추가했습니다. 바로 pay입니다. dApp은 어느 체인에서, 어느 주소로, 어느 금액의 결제를 요청할 수 있었고, 지갑은 사용자의 두 기기에서 서명 흐름을 처리했습니다. 그 범위는 의도적으로 좁았습니다. 그것은 경계를 — 지갑은 서명을 가지고 dApp은 요청을 가진다 — 입증해 주었고, 우리에게 실전에서 단단하게 다질 무엇을 안겨주었습니다.
v1.15.0은 그다음 한 걸음을 내딛습니다. 지갑은 이제 더 넓은 API를 노출하여, 사이트가 SSP 사용자와 페어링하고, 사용자가 명시적으로 승인한 선택적 정보를 읽고, 지갑이 지원하는 동작을 요청할 수 있도록 합니다. 모델은 여전합니다. 지갑이 권위, 사이트가 호출자, 초록 버튼을 누르는 이는 사용자입니다. 새로운 것은 표면이 더 이상 단일 함수가 아니라 문서화된 인터페이스라는 점입니다.
API가 노출하는 것
확장된 API는 거의 모든 dApp이 지갑 사용자에게 쓸모 있으려면 알아야 하는 정보와, 보안 모델을 훼손하지 않고 지갑이 제공할 수 있는 동작에 집중합니다.
읽기 측에서, API는 사이트가 지갑에 연결된 사용자의 계정 식별자, 지갑이 지원하는 체인, 그리고 사용자가 해당 사이트와 공유하기로 동의한 주소 같은 정보를 묻도록 허용합니다. 핵심: 「묻기」는 결코 「자동으로 받기」를 의미하지 않습니다. 모든 읽기 요청은 지갑 UI 내에서 프롬프트를 띄우고, 사용자는 허용·범위 축소·거절을 선택할 수 있습니다.
동작 측에서, API는 원래 pay 흐름과 같은 경계를 유지합니다. 지갑은 트랜잭션을 구성·검토·공동 서명하도록 요청받을 수 있으며, dApp은 서명 자료를 결코 보지 않습니다. 멀티시그는 협상 대상이 아닙니다. 자금에 닿는 모든 지출은 여전히 SSP 설정의 두 반쪽 — 브라우저 확장과 사용자의 휴대전화 위 SSP Key — 으로 서명되며, 손으로 시작한 전송과 정확히 같습니다. 사이트가 그 흐름을 우회하도록 허용하는 API 호출은 없으며, 지갑을 자동 도장으로 만드는 「세션 승인」도 없습니다.
전체 메서드 시그니처, 요청 형태, 이벤트 의미는 SSP_Wallet_API.md 명세에 있고, 그것이 통합자에게 진리의 원천입니다.
보안 모델
지갑 API는 그 보안 모델만큼 가치가 있으므로, v1.15.0이 강제하는 바를 명시할 가치가 있습니다.
오리진 확인. 모든 API 호출은 요청한 페이지의 오리진을 함께 가지고 오며, 지갑은 그 오리진을 호출자의 신원으로 취급합니다. 권한은 오리진 단위로 범위가 정해집니다. 한 사이트에 부여된 권한은 같은 브라우저 안의 그 이웃에 부여된 권한이 아닙니다. 악성 페이지가 다른 사이트의 세션을 재사용하려 시도하면, 요청은 사용자에게 닿기 전에 거부됩니다.
명시적 사용자 승인. 읽기와 동작 모두 처음 발생할 때 지갑 안에서 프롬프트를 필요로 하며, 실질적 동작 — 서명이나 지출을 동반하는 무엇이든 — 은 매번 새로운 프롬프트를 필요로 합니다. 지갑은 사용자가 이전에 연결한 적이 있는 사이트라 해도 트랜잭션을 조용히 승인하지 않습니다. dApp은 무엇이 「충분히 신뢰할 만」한지 결정할 권한이 없습니다.
서명은 로컬에 머무릅니다. SSP를 SSP 지갑이게 만든 핵심 — 서명이 두 기기에서 로컬로 이루어지고, 어떤 원격 서비스도 서명되지 않았지만 지출 가능한 키를 보유하지 않는다는 점 — 은 변하지 않습니다. API는 사이트에 지갑에게 서명을 청할 구조화된 길을 주지만, 사용자 없이 그것을 얻거나 키 하나를 건너뛸 어떤 길도 사이트에 주지 않습니다.
멀티시그 불변은 지갑이 첫날 출시할 때의 그 불변과 같습니다. API는 정중히 문을 두드리는 손님이지, 만능열쇠가 아닙니다.
그 위에 짓기
SSP_Wallet_API.md 명세는 표준 출발점입니다. 사용 가능한 메서드, 상태가 바뀔 때 지갑이 발하는 이벤트, dApp이 예상해야 하는 오류 코드를 설명합니다. v1.15.0 GitHub 릴리스 노트와 함께 읽으면 무엇이 출시되었는지에 대한 전체 맥락을 얻을 수 있습니다.
다른 지갑 생태계에서 오는 개발자에게 모델은 익숙합니다. 세션 기반 페어링, 오리진으로 색인된 권한, 이벤트로 구동되는 상태. 다른 것은 「없는 것」입니다 — dApp의 모든 미래 트랜잭션을 한꺼번에 승인하는 「뒷문」도 없고, 사용자의 두 기기를 떠날 수 있는 키 자료도 없습니다.
SSP Connect의 다음
SSP Connect는 이제 단일 프로토콜이라기보다 지갑의 외향 표면 위를 덮는 우산에 가깝습니다. 더 많은 문서화된 메서드, 더 많은 이벤트, 가장 흔한 통합 패턴에 대한 더 날카로운 예제를 기대해 주십시오. 첫 번째 목표는 암호 분야에서 가장 큰 API가 되는 것이 아니라, 단어의 가장 좋은 의미에서 가장 지루한 API가 되는 것입니다 — 예측 가능하고, 잘 한정되어 있고, 사이트가 지갑에게 요청할 수 있는 것에 대해 보수적입니다.
무언가를 짓고 있고 SSP와 대화하고 싶다면, 명세가 바로 그 문입니다.