메인 콘텐츠로 건너뛰기
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
트레이드 APItransaction-v1.raydium.io (및 api-v3.raydium.io의 일부 미러링 경로)에 있는 엔드포인트들의 간단한 집합으로, 스왑을 견적하고, 서명 준비가 완료된 Solana 트랜잭션을 빌드한 뒤, 한 번의 왕복으로 반환합니다. Raydium UI가 사용하는 것과 동일한 표면입니다. TS SDK를 번들링하지 않고 Raydium 라우팅을 원할 때 사용하세요 — 백엔드, Blinks 핸들러, Telegram 봇, 제3자 앱 등에 적합합니다.

트레이드 API 대 SDK 사용 기준

SDK는 더 풍부한 기능을 제공하고, 트레이드 API는 더 간단합니다. 둘 다 동일한 CPMM/CLMM/AMM v4 프로그램을 래핑하므로, 결과적인 온체인 스왑은 동일합니다.

세 개의 엔드포인트

1. GET /compute/swap-base-in

입력 금액이 주어지면 경로를 선택하고 견적을 반환합니다.
응답:
id 필드는 다음 엔드포인트에 전달되는 불명시적 견적 핸들입니다. 견적은 약 30초 동안 유효하며, 그 이상 지나면 다시 견적을 받아야 합니다.

2. GET /compute/swap-base-out

역방향 형태: “출력에서 정확히 N을 받고 싶어요; 필요한 입력을 견적해 주세요.”
swap-base-in과 대칭적인 응답 형태입니다; amount 필드 의미론은 반대입니다.

3. POST /transaction/swap-base-in/transaction/swap-base-out

단계 1에서의 견적을 받아 서명 준비가 완료된 버전 트랜잭션을 반환합니다:
응답:
스왑에 설정이 필요한 경우 (예: ATA 생성, SOL 래핑) 여러 트랜잭션이 반환될 수 있습니다. 순서대로 서명하고 전송하세요.

최소 엔드투엔드 예제 (Python)

이것은 약 20줄입니다. TS SDK로 하는 동등한 작업은 약 30줄이지만 더 풍부한 제어를 제공합니다 (커스텀 경로 선택기, 풀별 컴퓨트 유닛 예산 책정, 상세한 에러 메타데이터).

라우팅 및 풀 선택

트레이드 API는 모든 Raydium 프로그램 (CPMM, CLMM, AMM v4)을 통해 라우팅하고 견적된 크기에 대해 최고의 실행을 선택합니다. 특징:
  • 멀티홉 지원. SOL→USDC 스왑이 비용이 더 저렴하면 wSOL→JUP→USDC를 통해 라우팅될 수 있습니다.
  • 동일 프로그램 다중 풀 분할 미지원. 단일 견적은 정확히 하나의 경로를 거칩니다; 크기를 여러 풀로 분할하려면 클라이언트 측에서 처리하세요 (두 개의 견적, 두 개의 트랜잭션).
  • 안정적 vs 집중형. 라우터는 범위 내 유동성이 충분할 때 CLMM을 선호하고, 긴 꼬리 쌍의 경우 CPMM으로 폴백합니다.
  • AMM v4 포함. AMM v4 풀은 라우팅에 포함되지만 CPMM/CLMM 대안보다 더 나은 가격을 제공할 때만 선택됩니다.
특정 풀을 통한 라우팅을 강제하려면 SDK를 사용하세요 — 트레이드 API는 풀 핀 매개변수를 노출하지 않습니다.

레퍼러 매개변수

계산 엔드포인트에 &referrer=<wallet_pubkey>를 추가하여 스왑에서 1% 레퍼럴 컷을 받으세요. 의미론은 user-flows/referrals-and-blinks를 참조하세요. 존재할 때:
  • 견적 응답의 referrerAmount는 레퍼러로 라우팅될 입력 민트의 절대 금액입니다.
  • 최종 트랜잭션은 레퍼러의 ATA에 대한 추가 SPL 토큰 전송을 포함합니다.

우선순위 수수료

빌드 요청의 computeUnitPriceMicroLamports는 반환된 트랜잭션의 우선순위 수수료를 설정합니다. 경험칙:
  • 50_000 (0.00005 lamports/CU × 200k CU ≈ 0.00001 SOL): 최소, 혼잡하지 않은 시간에 괜찮습니다.
  • 200_000: 중간 정도의 혼잡.
  • 1_000_000: 심각한 혼잡.
적응적 튜닝을 위해 먼저 RPC에서 getRecentPrioritizationFees를 호출한 다음 중앙값을 전달하세요. integration-guides/priority-fee-tuning을 참조하세요.

트랜잭션 버전

  • "V0"은 공통 계정에 대한 조회 테이블을 사용하는 버전화된 (MessageV0) 트랜잭션을 반환합니다. 더 작고 빠릅니다. 권장됩니다.
  • "LEGACY"는 레거시 트랜잭션을 반환합니다. 더 큽니다; 지갑/인프라가 V0을 처리하지 않는 경우에만 사용하세요.

에러 형태

API는 논리적 에러의 경우 success: false와 함께 HTTP 200을 반환하고, 전송/인프라 에러의 경우 HTTP 4xx/5xx를 반환합니다. 일반적인 논리적 에러:
  • "No route found" — 이 크기에서 두 민트 간의 경로가 없습니다. amount를 줄이거나 쌍을 다시 고려하세요.
  • "Insufficient liquidity" — 경로는 존재하지만 slippageBps를 초과할 것입니다. 슬리피지를 넓히세요.
  • "Quote expired"swapResponse가 30초 이상 오래되었습니다. 다시 견적을 받으세요.
  • "Unsupported mint" — 민트가 Raydium의 범위에 없습니다 (미등록 또는 더 이상 사용되지 않는 프로그램).

속도 제한

  • 견적 엔드포인트: IP당 분당 120개 요청.
  • 빌드 엔드포인트: IP당 분당 60개 요청 (서버에서 비용이 높음).
  • 제한을 초과하면 Retry-After 헤더와 함께 HTTP 429를 반환합니다.
더 높은 처리량을 원하면 Raydium 개발자 관계팀에 문의하세요; 애그리게이터 티어 키가 있습니다.

통합자를 위한 아키텍처 패턴

모든 것은 상태가 없습니다 — 견적 호출과 빌드 호출 사이에 전달해야 할 유일한 것은 견적 응답 본문 자체입니다.

다음으로 갈 곳

출처:
  • transaction-v1.raydium.io 라이브 엔드포인트.
  • Raydium UI 네트워크 탭 검사 (동일한 소비 표면).