본문으로 건너뛰기

04 · 전체 비즈니스 프로세스

이 장에서는 RWA 자산의 발행부터 종료까지 전체 수명주기를 연결합니다.

4.1 수명주기 개요

프로세스주요 책임자온체인 결과
자산 발행플랫폼 + 자산 발행자새로운 자산 Suite
투자자 온보딩투자자 + 자격 기관 + 발행자isVerified == true
MintToken Agent투자자 잔액 증가
TransferToken 보유자적격 지갑 간 잔액 이동
BurnToken Agent투자자 잔액과 총공급량 감소

4.2 1단계: 자산 발행

발행자는 자산, 자격, 규칙, 역할을 정의한 후 플랫폼 승인 진입점을 통해 Suite를 생성합니다.

분류내용
자산이름, 심볼, decimals, 실물 권리
자격투자자가 보유해야 하는 Claim Topics
발급 기관각 Topic에 승인된 ClaimIssuers
규칙국가, 보유, 공급, 락업 등의 제한
역할Owner, Token Agent, IR Agent
환경Testnet 또는 BOT Mainnet

발행 후 Token과 Suite 프록시 주소, Chain ID, RPC, 탐색기, 자격 요건, 거래 규칙, 컨트랙트 버전, 소스 검증 상태, pause 상태, 자산 효력 시작 시점을 공개합니다.

새 Token은 기본적으로 pause 상태입니다. pause 중에도 mint와 burn은 가능하지만 일반 투자자 transfer는 실패합니다. 출시 검사를 마친 후 Token Agent가 unpause()를 호출합니다.

4.3 2단계: 투자자 온보딩

각 단계를 수행하는 주체

단계실행자온체인gas 지불자완료 신호
자료 제출 및 심사투자자, 자격 기관아니요없음심사 결론
ONCHAINID 생성투자자투자자wallet과 신원 연결
Claim 서명 생성자격 기관아니요없음서명과 Claim 필드
Claim 기록투자자투자자ClaimAdded
대상 자산 등록IR Agent자산 발행자IdentityRegistered
최종 자격 조회모든 앱read-only트랜잭션 gas 없음isVerified == true

ClaimSigner가 addClaim을 직접 호출하지 않는 이유

ClaimSigner가 오프체인에서 서명

투자자가 서명을 수령

투자자가 ONCHAINID.addClaim 호출

ClaimSigner는 자격 결론을 증명하고 투자자는 본인의 ONCHAINID를 제어합니다. 자격 기관이 모든 투자자의 gas를 지불하거나 신원을 통제하지 않습니다.

온보딩 완료 판단

  1. IdFactory.getIdentity(wallet)이 유효한 신원을 반환합니다.
  2. ONCHAINID에 대상 Topic의 Claim이 있습니다.
  3. IdentityRegistry.contains(wallet) == true입니다.
  4. IdentityRegistry.isVerified(wallet) == true입니다.

대상 Token에 연결된 IdentityRegistry가 최종 판단 기준입니다.

4.4 3단계: Mint

청약·발행 조건, 수신자 자격, decimals 기반 금액 변환을 확인하고 Token Agent가 전송합니다. 영수증과 Transfer 이벤트를 기다린 후 비즈니스 주문을 최종 갱신합니다. 브로드캐스트만으로 지분 도착이 완료되지는 않습니다.

4.5 4단계: 투자자 transfer

권장 순서:

Chain ID와 Token 주소 검증
→ decimals 읽기
→ paused 및 freeze 상태 확인
→ 수신자 isVerified 조회
→ 필요 시 canTransfer 호출
→ 보유자 서명 및 전송
→ 영수증 대기

canTransfer는 사전 검사입니다. 확정 전 온체인 상태가 바뀔 수 있으므로 실제 트랜잭션이 최종 결과를 결정합니다.

4.6 5단계: 상환 및 burn

온체인 burn과 오프체인 결제는 별도 상태로 기록해야 합니다. burn 성공은 실물 자금 수령을 증명하지 않습니다.

4.7 Transfer 이벤트 해석

fromto의미
영 주소투자자Mint
투자자영 주소Burn
영이 아닌 주소영이 아닌 주소일반 transfer 또는 강제 이전

일반 transfer와 Agent 강제 이전은 호출된 메서드와 관리 이벤트를 함께 확인해 구분합니다.

4.8 자주 발생하는 실패

증상일반 원인대응
isVerified == false미등록, Claim 누락·만료, 미승인 Issuer실패한 온보딩 단계 식별
Identity is not verified.mint 수신자 부적격자격 절차 완료
Compliance not followed자산 규칙 위반규칙 조회 후 발행자 문의
Pausable: pausedtransfer 미활성화전송 중지 및 pause 상태 표시
지갑 freeze발행자가 주소 동결발행자 문의
잔액 부족금액 변환 오류 또는 사용 가능 잔액 부족decimals와 freeze 수량 재조회
권한 오류호출자가 필요한 Agent/Owner가 아님올바른 역할로 라우팅
pending 지속RPC, gas 또는 네트워크 문제tx hash로 조회하고 비즈니스 지시 중복 방지

4.9 다음 장

다음: 05 · 컨트랙트 인터페이스 및 이벤트