Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Stable은 AI 편집기와 코딩 에이전트가 Stable과 직접 작업할 수 있도록 MCP 서버, 에이전트 스킬 및 일반 텍스트 문서 파일을 제공합니다. 이 페이지에서는 각 부분을 워크플로우에 연결하는 방법, MCP가 아닌 AI 도구를 위한 복사 붙여넣기 가능한 컨텍스트 블록 및 일반적인 작업을 위한 시작 프롬프트에 대해 설명합니다.

MCP 서버

Stable은 두 개의 MCP 서버를 실행합니다. 문서 MCP는 이 문서 사이트에서 개념, 가이드, 코드 스니펫 및 계약 참조를 검색합니다. 런타임 MCP는 잔액 조회, 트랜잭션 시뮬레이션 및 실행을 위해 Stable 체인과 상호 작용합니다.

두 서버 모두 MCP 호환 클라이언트에 추가할 수 있습니다.

Cursor

MCP 구성 파일을 열고 다음을 추가합니다.

{
  "mcpServers": {
    "stable-docs": {
      "url": "https://docs.stable.xyz/mcp"
    },
    "stable-runtime": {
      "url": "https://runtime.stable.xyz/mcp"
    }
  }
}

Cursor를 다시 시작합니다. "Stable에서 USDT0를 어떻게 보내나요?"라고 질문하여 확인합니다.

Claude Code

claude mcp add stable-docs https://docs.stable.xyz/mcp
claude mcp add stable-runtime https://runtime.stable.xyz/mcp

"가스 면제 통합 단계를 위해 Stable 문서를 검색해줘."라고 질문하여 확인합니다.

에이전트 스킬

에이전트 스킬은 Docs MCP와 Runtime MCP를 결합한 사전 정의된 워크플로입니다. AI에게 "100 USDT0를 세 주소로 보내"와 같은 작업을 수행하도록 요청하면, 스킬은 관련 문서를 찾아보고, 주소와 매개변수를 해결하고, 잔액을 확인하고, 트랜잭션을 시뮬레이션하고, 승인 후 실행하는 전체 시퀀스를 처리합니다.

스킬은 Claude Code 플러그인으로 사용할 수 있습니다.

설치

claude plugin add stable-xyz/agent-skills

또는 Claude Code 마켓플레이스에서 설치합니다.

전체 스킬 정의 및 소스는 agent-skills 리포지토리를 참조하세요.

일반 텍스트 문서

MCP를 지원하지 않는 AI 도구를 위해 Stable 문서는 정적 텍스트 파일로 제공됩니다.

파일URL콘텐츠
llms.txthttps://docs.stable.xyz/llms.txt제목 및 설명이 있는 페이지 색인
llms-full.txthttps://docs.stable.xyz/llms-full.txt단일 파일의 전체 문서

이 파일은 정적 스냅샷입니다. 가장 최신 콘텐츠를 이용하려면 Docs MCP를 사용하세요.

Cursor

  1. 설정 > 기능 > 문서로 이동합니다.
  2. 추가를 선택하고 https://docs.stable.xyz/llms-full.txt를 입력합니다.
  3. @Stable로 채팅에서 참조합니다.

기타 도구

llms-full.txt를 다운로드하여 프로젝트 컨텍스트 또는 시스템 프롬프트에 포함합니다.

Stable 컨텍스트 블록

이것을 AI 채팅 또는 시스템 프롬프트의 맨 위에 붙여넣으세요. 모델이 처음 시도에서 올바른 Stable 코드를 생성하는 데 필요한 모든 것을 제공합니다.

# Stable 체인 컨텍스트
 
Stable은 USDT0가 기본 가스 토큰인 레이어 1입니다. 완전 EVM 호환입니다.
모든 표준 EVM 도구(Hardhat, Foundry, ethers.js, viem)는
세 가지 가스 필드를 조정하면 변경 없이 작동합니다(아래 행동 차이점 참조).
 
## 네트워크
 
| 필드           | 메인넷                                  | 테스트넷                                    |
| :-------------- | :--------------------------------------- | :----------------------------------------- |
| 체인 ID        | 988                                      | 2201                                       |
| RPC             | https://rpc.stable.xyz                   | https://rpc.testnet.stable.xyz             |
| 탐색기        | https://stablescan.xyz                   | https://testnet.stablescan.xyz             |
| 통화 기호 | USDT0                                    | USDT0                                      |
 
## USDT0 계약 주소
 
- 메인넷: 0x779ded0c9e1022225f8e0630b35a9b54be713736
- 테스트넷: 0x78cf24370174180738c5b8e352b6d14c83a6c9a9
 
## 이더리움과의 행동 차이점
 
1. **가스 토큰은 ETH가 아닌 USDT0입니다.** 네이티브 전송의 `value` 필드는
   USDT0를 전달합니다. 수수료는 USDT0로 표시됩니다.
2. **`maxPriorityFeePerGas`는 항상 0입니다.** 팁 기반 순서 지정이 없습니다.
   이를 명시적으로 `0n`으로 설정해야 합니다. 그렇지 않으면 유효성 검사자가
   팁 구성 요소를 거부하거나 무시합니다.
3. **USDT0에는 이중 역할이 있습니다**: 네이티브 자산(18 decimals) 및
   ERC-20(6 decimals)이 동일한 잔액에 있습니다. `address(x).balance`
   18자리 wei를 보고합니다. `USDT0.balanceOf(x)`는 6자리 단위를 보고합니다.
   분수 조정으로 인해 값이 최대 0.000001 USDT0까지 다를 수 있습니다.
   내부 변수에 네이티브 잔액을 복제하지 마십시오. 항상 지급 시점에 쿼리하세요.
4. **네이티브 전송에 대해서도 전송 이벤트가 발생합니다.** USDT0 ERC-20 계약에 대한
   단일 전송 이벤트 리스너는 두 전송 경로를 모두 다룹니다.
5. **단일 슬롯 완결성 (~700ms).** 블록이 커밋되면 재구성할 수 없습니다.
   여러 확인을 기다릴 필요가 없습니다.
6. **가스 면제**를 통해 애플리케이션이 가스를 처리할 수 있습니다. 사용자는
   `gasPrice = 0`으로 서명하고, 거버넌스에 등록된 면제가 서명을 래핑하고 제출합니다.
   계약은 면제의 AllowedTarget 정책에 있어야 합니다.
7. **EIP-7702**는 EOA를 계약에 위임하는 것을 지원합니다(유형-4 트랜잭션).
8. **사전 컴파일된 주소**: Bank `0x...1003`, Distribution `0x...0801`,
   Staking `0x...0800`, StableSystem `0x...9999`.
 
## 피해야 할 일반적인 오류
 
- 이더리움 우선 순위 요금 상수(2 gwei 팁 등)를 복사하는 것.
  이는 Stable에 영향을 미치지 않으며 지갑에서 거부될 수 있습니다.
- ERC-20 USDT0 금액에 `ethers.parseUnits(x, 18)`을 사용하는 것.
  ERC-20은 6자리를 사용하고, 네이티브 전송은 18자리를 사용합니다.
- `uint256 deposited` 변수에 네이티브 잔액을 복제하는 것.
  USDT0 승인 기반 작업(transferFrom, permit)은 코드 호출 없이
  계약의 네이티브 잔액을 줄일 수 있습니다.
- `address(0)`으로 네이티브 또는 ERC-20 USDT0를 보내는 것.
  둘 다 Stable에서 되돌아갑니다.
- `EXTCODEHASH == 0`이 주소가 사용되지 않음을 의미한다고 가정하는 것.
  Stable에서는 허용 기반 승인이 nonce를 증가시키지 않고 상태를 변경할 수 있습니다.
- `value: ethers.parseEther(amount, "ether")`를 작성하고 ETH 의미를 기대하는 것.
  해당 전송은 USDT0를 보냅니다.

시작 프롬프트

위 컨텍스트 블록을 로드한 후 AI 편집기에 다음 중 아무거나 복사하여 붙여넣으세요.

계약 배포하기

Foundry를 사용하여 `stable-escrow`라는 프로젝트를 스캐폴드합니다.
Solidity ^0.8.24로 minimal Escrow 계약을 작성하고,
deposit() 및 withdraw(amount) 함수를 사용하여 USDT0를 네이티브 방식으로 전송합니다.
지불 능력을 확인하기 위해 address(this).balance를 사용하고
(uint256에 잔액을 복제하지 마십시오), address(0) 수신자를 거부합니다.
그런 다음 `forge create`를 사용하여 Stable 테스트넷
(RPC https://rpc.testnet.stable.xyz, 체인 ID 2201)에
배포 명령을 생성합니다.

USDT0 보내기

PRIVATE_KEY에서 로드된 지갑에서 0.001 USDT0를 네이티브 방식으로 보내는
ethers v6를 사용한 TypeScript 스크립트를 작성합니다.
기본 수수료만 있는 EIP-1559 가스를 사용합니다
(maxPriorityFeePerGas = 0n, maxFeePerGas = 2 * baseFeePerGas).
Stable 테스트넷을 대상으로 합니다.
트랜잭션 해시 및 Stablescan 탐색기 URL을 기록합니다.

EIP-7702 위임 설정

ethers v6를 사용하여 다음을 수행하는 TypeScript 스크립트를 작성합니다.
1. Stable 테스트넷(체인 ID 2201)에서 0xcA11bde05977b3631167028862bE2a173976CA11에 있는
   Multicall3에 내 EOA를 위임하는 EIP-7702 승인을 서명합니다.
2. authorizationList: [signedAuth], to: wallet.address (자체 호출) 및
   세 개의 USDT0 전송(100, 200, 150 USDT0, 6자리)을 일괄 처리하기 위해
   aggregate3()를 호출하는 데이터를 사용하여 유형-4 트랜잭션을 보냅니다.
3. maxPriorityFeePerGas: 0n를 사용합니다.

구독 계약 구축

Stable에서 EIP-7702 위임을 위한 SubscriptionManager Solidity 계약을 작성합니다.
이 계약은 구독자의 EOA에서 실행됩니다. 다음을 노출합니다.
  - subscribe(bytes32 subId, address provider, uint256 amount, uint256 interval)
    msg.sender == address(this) (자신의 EOA의 구독자)일 때만 호출 가능합니다.
  - collect(bytes32 subId) 등록된 공급자만 호출 가능하며,
    block.timestamp >= nextChargeAt일 때만 호출 가능합니다.
    nextChargeAt을 interval만큼 진행하고 USDT0를 공급자에게 전송합니다.
    테스트넷 주소 0x78cf24370174180738c5b8e352b6d14c83a6c9a9에 있는 IERC20 USDT0를 사용합니다.
  - cancelSubscription(bytes32 subId) 구독자만 호출 가능합니다.
SubscriptionCreated, SubscriptionCollected, SubscriptionCancelled 이벤트를 발생시킵니다.

x402 유료 통화 API 구축

@x402/express, @x402/evm/exact/server 및
https://x402.semanticpay.io/를 가리키는 HTTPFacilitatorClient를 사용하여
$0.001 USDT0(금액: "1000", 6자리)으로 가격이 책정된 GET /weather를 노출하는
TypeScript Express 서버를 작성합니다.
Stable 메인넷(CAIP-2 eip155:988, USDT0 0x779Ded0c9e1022225f8E0630b35a9b54bE713736)을 사용합니다.
핸들러는 { weather: "sunny", temperature: 70 }을 반환해야 합니다.
PAY_TO_ADDRESS를 env에서 읽습니다. 시작 시 구성된 경로를 인쇄합니다.

다음 권장 사항

  • MCP 서버로 결제하기: 유료 API를 MCP 도구로 래핑하여 AI 클라이언트가 호출하고 결제할 수 있도록 합니다.
  • 빠른 시작: 5분 안에 AI 컨텍스트를 첫 번째 트랜잭션 실행과 페어링합니다.
  • 이더리움과의 차이점: 컨텍스트 블록의 가스 및 USDT0 의미론에 대한 심층 분석.