API

용어심층

Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스

API는 한 프로그램이 다른 프로그램의 기능이나 데이터를 이용할 수 있도록 정의해 둔 요청과 응답의 규칙 모음이다. 사람이 화면을 통해 서비스를 쓰듯, 프로그램은 API를 통해 서비스를 이용하며, 암호화폐 분야에서는 거래소 자동매매·블록체인 데이터 조회·오라클 연동의 기반이 된다.

1.개요

API는 'Application Programming Interface'의 약자로, 한 프로그램이 다른 프로그램의 기능이나 데이터를 이용할 수 있도록 정의해 둔 요청과 응답의 규칙 모음이다. 사용자가 화면(그래픽 인터페이스)을 통해 서비스를 이용하듯이, 프로그램은 API를 통해 서비스를 이용한다. 예를 들어 어떤 앱이 실시간 가격을 표시하려면 가격 데이터를 제공하는 서버의 API에 요청을 보내고, 서버는 정해진 형식(주로 JSON)으로 응답을 돌려준다.

API는 내부 구현을 감춘 채 '무엇을, 어떤 형식으로 요청하면, 어떤 형식으로 응답이 오는지'만 약속한다는 점이 핵심이다. 요청하는 쪽은 상대 서버가 내부에서 어떤 언어로 어떻게 계산하는지 알 필요 없이, 공개된 규격에 맞춰 요청만 보내면 된다. 이 덕분에 서로 다른 회사·서로 다른 기술로 만든 시스템이 마치 하나처럼 연결될 수 있다.

암호화폐 분야에서 API는 특히 중요한 역할을 한다. 중앙화 거래소는 대부분 거래용 API를 제공하여, 사용자가 웹 화면을 거치지 않고도 프로그램으로 주문을 넣거나 잔고를 조회하고 시세를 받아올 수 있게 한다. 이때 발급되는 'API 키'는 계정을 대신 조작할 수 있는 권한을 담고 있으므로 개인키에 준하여 안전하게 관리해야 한다.

2.작동 원리

대다수의 웹 API는 '요청(request)'과 '응답(response)'이라는 한 쌍의 흐름으로 동작한다. 요청하는 쪽(클라이언트)이 특정 주소(엔드포인트)로 요청을 보내면, 서버가 처리 결과를 정해진 형식으로 되돌려 준다.

  • 엔드포인트: 기능마다 부여된 고유 주소(URL). 예컨대 시세 조회와 주문 제출은 서로 다른 엔드포인트를 쓴다.
  • 메서드: 데이터를 읽는 요청(조회)과 상태를 바꾸는 요청(주문·취소)을 구분한다. 웹 API에서는 흔히 GET·POST 등 HTTP 메서드로 표현한다.
  • 파라미터와 본문: 어떤 종목의 시세인지, 몇 개를 얼마에 살지 같은 세부 조건을 함께 실어 보낸다.
  • 응답 형식: 결과는 주로 JSON으로 돌아오며, 처리 성공 여부는 상태 코드로 함께 전달된다.
  • 인증 정보: 거래처럼 권한이 필요한 요청에는 API 키나 서명 값을 헤더에 담아 신원을 증명한다.

이처럼 규격이 명확하기 때문에, 사람이 마우스로 버튼을 누르는 대신 프로그램이 초당 수많은 요청을 자동으로 처리할 수 있다. 다만 서버 부담을 막기 위해 대부분의 API는 일정 시간당 호출 횟수를 제한하는 '요청 한도(rate limit)'를 둔다.

3.API의 유형

API는 통신 방식과 설계 철학에 따라 여러 갈래로 나뉜다.

  • REST 방식: 자원을 주소로 표현하고 요청·응답을 주고받는 가장 널리 쓰이는 웹 API 방식이다. 구조가 단순해 시세·잔고 조회 등에 두루 쓰인다.
  • 실시간 스트리밍(WebSocket): 한 번 연결을 맺으면 서버가 새 데이터가 생길 때마다 밀어 준다. 체결·호가처럼 계속 바뀌는 정보를 지연 없이 받는 데 유리하다.
  • RPC / JSON-RPC: 원격의 함수를 직접 호출하듯 쓰는 방식으로, 블록체인 노드와 통신할 때 표준적으로 쓰인다.
  • GraphQL: 필요한 데이터 항목만 골라 한 번에 받아오도록 설계된 쿼리형 방식이다.
  • FIX: 전통 금융권에서 오래 쓰여 온 거래 메시지 표준으로, 초저지연 대량 주문이 필요한 일부 기관용 암호화폐 거래에서 FIX API 형태로 제공되기도 한다.

하나의 서비스가 조회는 REST로, 실시간 시세는 WebSocket으로 제공하는 식으로 여러 방식을 함께 쓰는 경우가 많다.

4.암호화폐 거래소 API

거래소 API는 크게 두 종류로 나뉜다.

  • 조회용(공개) API: 시세·호가·체결 내역·거래량 등 누구에게나 공개된 시장 데이터를 읽어 온다. 인증 없이도 쓸 수 있는 경우가 많다.
  • 거래용(비공개) API: 주문 제출·취소, 잔고 조회, 입출금 등 계정과 연결된 기능을 다룬다. 반드시 API 키 인증이 필요하다.

자동매매 봇이나 차익거래 프로그램은 이 API를 통해 사람의 개입 없이 빠르게 매매를 수행한다. 특히 고빈도 거래에서는 주문이 서버에 도달하기까지의 시간이 승부를 가르기 때문에, 거래소 서버와 물리적으로 가까운 곳에 장비를 두는 코로케이션으로 레이턴시를 줄이려는 시도가 이어진다.

거래소 API는 대개 초당 또는 분당 호출 한도를 두며, 한도를 넘기면 일시적으로 요청이 거부된다. 따라서 프로그램은 응답의 상태 코드를 확인하고 호출 빈도를 스스로 조절하도록 설계된다.

5.블록체인·노드 API

블록체인 데이터 API는 직접 노드를 운영하지 않고도 잔고·트랜잭션·블록 정보를 조회할 수 있게 해준다. 노드를 직접 돌리려면 상당한 저장 공간과 관리 부담이 따르는데, 노드 API를 이용하면 이런 인프라 없이도 네트워크에 질의할 수 있다.

  • 노드 접속 API: JSON-RPC 규격으로 블록·트랜잭션을 읽거나 서명된 거래를 네트워크에 전파한다. 디앱과 지갑 애플리케이션은 이 API를 통해 이더리움 같은 네트워크와 통신한다.
  • 데이터·탐색 API: 블록 익스플로러나 데이터 제공 서비스가 주소별 잔고·거래 이력을 정리해 공개한다.
  • 온체인 분석 API: 온체인 활동을 쿼리·집계해 대시보드나 리서치에 활용하도록 돕는 블록체인 분석 API도 널리 쓰인다. 자금 흐름 추적, 지표 산출, 시각화 등에 활용된다.

이런 API 덕분에 개발자는 블록체인 내부 구조를 일일이 다루지 않고도 필요한 데이터를 간편하게 끌어올 수 있다.

6.오라클과 스마트 계약

스마트 계약 환경에서는 오라클이 외부 API로부터 가격 등 실세계 데이터를 받아와 온체인으로 전달하는 다리 역할을 한다. 블록체인은 결정성(모든 노드가 같은 결과에 도달해야 함)을 지켜야 하기 때문에 스스로 외부 API를 호출할 수 없으며, 그래서 오라클이 API와 블록체인 사이를 매개한다.

체인링크처럼 여러 데이터 출처를 모아 검증하는 탈중앙 오라클 네트워크는, 단일 API의 오류나 조작이 계약 전체를 왜곡하지 못하도록 다수의 소스를 종합한다. 에이피아이쓰리는 데이터 제공자가 직접 온체인에 데이터를 올리는 방식을 지향하는 등, 'API를 어떻게 신뢰 가능한 형태로 온체인에 연결할 것인가'는 이 분야의 핵심 과제로 남아 있다. 이렇게 공급된 데이터는 탈중앙 금융 프로토콜의 담보 평가·청산 등에 직접 쓰인다.

7.API 키와 보안

거래용 API 키는 보통 공개 키와 비밀 키 한 쌍으로 발급되며, 서비스에 따라 '출금 권한 제외'나 특정 IP에서만 사용 허용 같은 권한 제한을 걸 수 있다. 키가 유출되면 자산이 탈취될 수 있으므로, 필요 최소한의 권한만 부여하고 출금 권한은 가급적 비활성화하는 것이 안전하다.

안전한 관리를 위한 일반적 원칙은 다음과 같다.

  • 최소 권한: 시세만 필요하면 조회 권한만, 매매만 필요하면 출금 권한을 빼고 발급한다.
  • IP 제한: 정해진 서버 주소에서만 키가 작동하도록 묶어 두면, 유출되더라도 다른 곳에서 쓰기 어렵다.
  • 비밀 키 보관: 비밀 키는 발급 시 한 번만 노출되는 경우가 많으므로 소스 코드나 깃허브 저장소에 그대로 남기지 않는다.
  • 주기적 폐기·재발급: 의심스러운 활동이 보이면 즉시 키를 폐기한다.

API 키는 계정을 대신 조작하는 권한을 담고 있어, 사실상 계정 접근 수단이라는 점에서 커스터디·개인키 관리와 같은 수준의 주의가 필요하다.

8.활용 사례

API는 암호화폐 생태계에서 다양한 자동화의 토대가 된다.

  • 자동매매·전략 실행: 정해진 조건에 따라 사람 없이 주문을 내는 봇이 거래소 API로 동작한다.
  • 차익거래: 여러 거래소의 시세를 동시에 읽어 가격 차이를 포착하고 즉시 매매한다.
  • 포트폴리오·회계 도구: 여러 거래소·지갑의 잔고와 거래 내역을 한데 모아 자산 현황을 정리한다.
  • 데이터 분석·대시보드: 온체인 데이터 API로 지표를 집계해 리서치나 리스크 모니터링에 활용한다.
  • 디앱·지갑: 노드 API를 통해 네트워크와 통신하며 잔고 표시, 거래 전송을 처리한다.

이처럼 API는 개인 트레이더의 소규모 스크립트부터 기관의 대규모 거래 시스템까지 폭넓게 쓰인다.

9.위험과 유의사항

API를 쓰는 데는 몇 가지 구조적 위험이 따른다.

  • 키 유출: 비밀 키가 새어 나가면 잔고 탈취나 원치 않는 매매로 이어질 수 있다. 출금 권한 비활성화와 IP 제한이 기본 방어선이다.
  • 요청 한도 초과: 한도를 넘기면 일시적으로 요청이 막혀, 중요한 주문·취소가 실패할 수 있다.
  • 서버 장애와 지연: 거래소나 데이터 제공자 측 장애, 네트워크 지연으로 응답이 늦거나 유실될 수 있어 오류 처리 설계가 필요하다.
  • 명세 변경: 제공자가 API 버전을 바꾸거나 폐기하면 기존 프로그램이 갑자기 멈출 수 있다.

따라서 자동화 시스템은 응답 상태를 항상 점검하고, 실패 시 재시도나 안전한 중단 같은 예외 처리를 갖추도록 만들어야 한다.

10.표준화와 앞으로의 과제

API 생태계는 상호 연결성을 높이는 방향으로 발전해 왔다. REST와 JSON이 사실상 표준으로 자리 잡고, 명세를 기계가 읽을 수 있게 문서화하는 방식이 퍼지면서 서로 다른 서비스를 조합하기가 쉬워졌다.

반면 남은 과제도 뚜렷하다. 거래소마다 API 규격과 권한 정책이 달라 이를 하나로 다루기 어렵고, 외부 API에서 온체인으로 넘어오는 데이터의 신뢰 문제(오라클 문제)는 여전히 활발히 연구되는 영역이다. 데이터 제공 주체를 특정 회사에 의존하지 않으려는 탈중앙 API·오라클 시도(에이피아이쓰리 등)와, 키 유출·요청 위조를 막기 위한 인증·서명 방식의 강화가 계속 이어지고 있다. API가 서비스 간 연결의 '보이지 않는 배관' 역할을 하는 만큼, 그 안정성과 보안은 생태계 전체의 신뢰와 직결된다.

11.연표6

  1. 1992이정표금융 거래 표준 프로토콜 FIX가 등장해 기관 간 주문·체결 메시지 교환에 쓰이기 시작했으며, 오늘날 일부 암호화폐 거래소도 FIX API를 제공한다
  2. 2000이정표로이 필딩이 박사 논문에서 REST 아키텍처 스타일을 제안해 웹 기반 API 설계의 기틀을 세웠다
  3. 2005이정표AJAX라는 용어가 등장하며 웹 페이지가 배경에서 API를 호출해 데이터를 주고받는 방식이 확산됐다
  4. 2013이정표데이터 교환 형식 JSON이 ECMA-404로 표준화되어 API 응답 형식의 사실상 표준이 됐다
  5. 2015이정표페이스북이 쿼리형 API 기술 GraphQL을 공개했다
  6. 2015이정표웹 API 명세 표준화를 위한 OpenAPI Initiative가 출범했다
이 문서 인용하기
토큰포스트 위키, “API”, 2026-07-30 수정, https://wiki.tokenpost.kr/w/api

문단 10개 · 연표 6건 · 각주 0