한국어
네트워크와 자산
지갑에서 보유한 자산을 표시할 때와 그 자산을 외부에서 주고받을 때는 필요한 정보가 다릅니다. 잔액은 계정과 자산 유형으로 조회하고, 입금 주소를 발급하거나 외부 출금을 요청할 때는 네트워크도 선택합니다.
Asset Type, Network, Asset
text
Asset Type: 어떤 자산인가?
+ Network: 어느 블록체인 환경인가?
= Asset: 그 네트워크에서 지원하는 실제 자산| 개념 | 의미 | 예시 | API 식별자 |
|---|---|---|---|
| Asset Type | 지갑에서 관리하는 자산의 종류 | USDT, ETH, BTC | asset_type_id |
| Network | 자산을 입출금할 블록체인 환경 | Ethereum Sepolia 등 | network_id |
| Asset | 자산 유형과 네트워크의 조합 | Sepolia에서 지원하는 USDT | asset_id |
Asset에는 is_native, contract_address, decimals, is_active가 포함됩니다. is_native는 네트워크의 기본 코인인지 구분하고, 토큰 자산은 해당 배포의 컨트랙트 주소를 확인할 수 있습니다. 같은 네트워크의 ETH와 USDT는 서로 다른 자산이며 잔액도 별도로 관리합니다.
메인넷과 테스트넷
메인넷은 실제 자산을 주고받는 블록체인 환경이고, 테스트넷은 테스트 자산으로 연동을 검증하는 환경입니다. 같은 자산 이름이나 주소 형식이 사용되어도 두 환경을 구분해 선택합니다.
메인넷·테스트넷별 주요 목록은 지원 네트워크에서 확인합니다. 지원 네트워크는 고객사의 요청에 따라 확장할 수 있으며, 추가 네트워크·자산과 적용 범위는 지원 문의를 통해 협의합니다.
식별자와 표시 코드
ID는 API 요청에 사용하는 환경별 식별자입니다. 코드와 이름은 자산·네트워크를 찾거나 화면에 표시할 때 사용합니다.
| 값 | 의미 | 사용하는 곳 |
|---|---|---|
asset_type_id | 자산 유형 ID | 잔액 조회, 내부이체, 입금 주소·출금 요청 |
network_id | OOLIN 네트워크 ID | 입금 주소 발급, 외부 출금 |
asset_id | 해당 네트워크의 자산 ID | 자산 상세와 목적지 주소 검증 |
network_code | 네트워크 코드 | 기준정보 검색·표시 |
chain_id | 해당 체인이 사용하는 식별자 | EVM 네트워크 구분 등 |
network_id와 chain_id는 서로 다른 값입니다. 기준정보 API가 반환한 ID를 사용하며 테스트·운영 환경 사이에서 복사하지 않습니다. 자산 유형 목록의 ID 필드는 id이고, 다른 요청에서는 이를 asset_type_id로 전달합니다.
고객 지갑의 입출금 예시
고객이 USDT를 입금하려면 먼저 USDT 자산 유형과 지원 네트워크를 선택합니다. 이후 해당 조합의 자산이 활성 상태인지 확인하고 고객 계정에 입금 주소를 발급합니다.
입금이 완료되면 USDT 잔액을 자산 유형 기준으로 조회합니다. 다시 외부로 출금할 때는 목적지의 네트워크를 선택하고 그 네트워크의 자산으로 주소를 검증합니다. 잔액에 USDT가 있다는 사실만으로 모든 네트워크에서 출금할 수 있다는 뜻은 아닙니다.
주소의 문자열이 같거나 형식 검증에 통과해도 네트워크와 자산 지원 여부를 별도로 확인해야 합니다. 입금 목적지는 주소·네트워크·tag_or_memo를 함께 표시합니다.
발급된 목적지를 계정에 연결하고 재조회하는 방법은 입금 주소에서 설명합니다.
자산과 네트워크 선택 순서
/asset-types에서 사용할 자산의 코드·ID·decimals를 확인합니다./asset-types/{id}/networks또는/networks에서 사용할 네트워크를 확인합니다./assets/by-type-network에asset_type_id,network_id를 전달해 해당 자산을 조회합니다.- 네트워크와 자산이 활성 상태인지 확인합니다.
- 입금 주소를 발급하거나
/assets/{asset_id}/validate-address로 외부 목적지를 검증합니다.
자산 유형이 존재해도 해당 네트워크 조합이 없거나 비활성일 수 있습니다. 활성 여부는 실제 입출금을 진행할 때 확인합니다.
표시 금액과 raw 금액
표시 금액은 고객이 보는 수량이고 *_raw는 자산 최소 단위의 정수 문자열입니다. 각 응답의 decimals를 사용해 단위를 해석합니다.
text
display_amount = raw_amount / 10^decimals예시 (decimals = 6) | 표시 금액 | raw 금액 |
|---|---|---|
| USDT 입금 | 100 USDT | 100000000 |
| USDT 출금 | 20 USDT | 20000000 |
| USDT 수수료 | 1 USDT | 1000000 |
API 요청의 표시 금액은 "20" 같은 소수 문자열로 전달합니다. 잔액 비교와 대사는 raw 정수 또는 decimal-safe 연산을 사용합니다. 자산별 정밀도가 다르므로 6자리라는 가정을 모든 자산에 적용하지 않습니다.
계정 간 이체와 결제에 적용하기
내부이체는 같은 자산 유형의 자금을 두 OOLIN 계정 사이에서 이동합니다. 네트워크 주소 대신 수신 계정 ID를 사용하므로 요청에 외부 전송 네트워크를 지정하지 않습니다. 고객·가맹점 결제도 이 기능을 활용합니다. 가맹점이 받은 자금을 외부 정산할 때는 다시 네트워크와 목적지를 선택합니다.
자금의 사용 가능 여부는 잔액과 원장에서 설명합니다. 실제 자산 조회와 주소 발급은 입금 주소 발급을 참고합니다.