Brale 최근 stablecoin’ API의 업데이트된 버전을 출시했습니다. 이 프로젝트는 1분기에 설계 단계를 거쳐 2분기에 개발 단계로 넘어갔으며, 그 직후 실제 고객을 대상으로 정식 서비스를 시작했습니다.

API는 다양한 기능을 제공합니다. 이 글은 그 모든 기능을 상세히 설명하는 것이 아닙니다. 주로 재미 삼아, 그리고 부분적으로는 다른 사람들이 처음 사용할 때 어떤 접근 방식을 취할지 이해하기 위해 제가 테스트해 본 과정을 기록한 것입니다.

LLM을 활용하여 API 탐색하기

제가 마지막으로 이와 비슷한 작업을 했을 때는 대규모 언어 모델이 워크플로우의 일부가 아니었습니다. 하지만 지금은 상황이 달라졌습니다. Cursor와 적절한 프롬프팅만 있다면, 이제 작동하는 프로토타입을 쉽게 만들어 보고 가정을 실시간으로 테스트할 수 있습니다.

저는 여전히 Postman을 사용해 API를 탐색하는 것을 좋아하지만, 실제 인터페이스에 조금 더 가까운 환경에서 Brale API를 사용하는 느낌이 어떤지 확인해보고 싶었습니다.

첫 번째 테스트: 인증

기본 인증 흐름부터 시작했습니다. client_id와 client_secret을 사용해 베어러 토큰을 얻는 방식이었죠. 특별한 건 없었습니다. 인증 정보가 제대로 작동하고 범위가 올바르게 설정되었음을 증명하기에 충분한 수준이었죠.

이 간단한 테스트는 여기에서 확인할 수 있습니다: github.com/superduperdot/auth-app

두 번째 테스트: 잔액

이 작업은 생각보다 조금 더 복잡했습니다. Brale API는 여러 값 유형(각각 고유한 자산을 나타냄)과 여러 전송 유형(각각 체인 또는 네트워크를 나타냄)을 지원합니다. 따라서 잔액을 조회하는 과정은 다음과 같았습니다:

  • 사용자 인증 정보와 연결된 account_id를 가져옵니다
  • 해당 ID를 사용하여 주소 목록을 가져옵니다
  • 결과를 유형별로 필터링: “internal”을 선택하여 수탁 지갑을 분리
  • 알려진 모든 가치 유형과 전송 유형의 조합을 순차적으로 처리
  • 잔액을 조회하고 반환된 결과를 기록

해당 앱은 여기에서 확인하세요: github.com/superduperdot/balance-app

지원되는 유형 파악하기

TransferTypes는 문서가 잘 정리되어 있습니다. ValueTypes는 아직 문서에 직접 노출되어 있지 않아서, 실제 애플리케이션에서 추출하여 향후 참고를 위해 두 목록을 GitHub에 올렸습니다:

데이터 엔드포인트에서 가격 정보를 가져오는 것도 잘 작동했습니다.

기타 관찰 사항

  • 로컬에서 실행 중이라면 CORS 문제가 발생할 수 있으니 프록시를 사용하세요.
  • 인증은 auth.brale.xyz에서 이루어지며, 그 외 모든 작업은 api.brale.xyz에서 처리됩니다.
  • 조심하지 않으면 account_id와 address_id의 구분이 여전히 사소한 버그를 일으킵니다.
  • 이 테스트 앱들은 자격 증명을 로컬에 저장하므로 실제 운영 환경에서는 안전하지 않습니다. 이는 의도된 것입니다.

여기에 있는 내용은 확정된 것이 아닙니다. 이 테스트는 주로 속도와 사용 편의성에 중점을 두었습니다. 목표는 내부 도구나 플랫폼에 대한 깊은 지식에 의존하지 않고, 인증 정보에서 실제 결과물로 얼마나 빠르게 나아갈 수 있는지 확인하는 것이었습니다.

Brale(API)를 탐색 중이라면, 이 내용이 과정을 단축해 줄 수도 있습니다. 그렇지 않더라도, 새로운 레이어가 실제 환경에서 어떻게 작동하는지 확인하는 데 시간을 할애할 가치는 충분히 있었습니다. CLI를 통해 직접 테스트해 보는 것도 도움이 될 수 있습니다.