> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tiprotocol.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 서명과 가스

> Ti에서 자금을 움직이는 거래는 모두 사용자의 지갑 서명에서 시작하고, 서명에 담긴 조건대로만 실행됩니다.

Ti에서 자금을 움직이는 거래는 모두 사용자의 지갑 서명에서 시작하고, 서명에 담긴 조건대로만 실행됩니다. 이 장은 그 서명에 무엇이 담기는지 설명합니다. 어떤 지갑으로 연결하는지, 토큰 사용 승인을 어떻게 처리하는지, 네트워크 수수료를 낼 토큰이 없을 때 Gasless 모드가 어떻게 작동하는지를 다룹니다.

***

## 1. 지갑 연결과 로그인

Ti는 WalletConnect 기반의 지갑 연결을 씁니다. 브라우저 확장 지갑과 모바일 지갑을 대부분 연결할 수 있습니다. 지갑을 연결하면 스왑을 할 수 있고, 한 단계 더 나아가 로그인하면 미션과 리워드에 참여할 수 있고 Ti AI의 질문 한도가 늘어납니다.

로그인에는 Sign-In with Ethereum(EIP-4361)을 씁니다.<sup>[24](https://docs.tiprotocol.io/ko/appendix/references.md#ref-24)</sup> Ti 서버가 일회용 문구(nonce)를 내주면 사용자는 지갑으로 「이 주소의 주인이 Ti에 로그인한다」는 메시지에 서명하고, 서버는 그 서명을 확인해 세션을 엽니다. 이 서명은 거래가 아니므로 가스가 들지 않고 자금도 움직이지 않습니다. 비밀번호나 이메일을 따로 만들 필요가 없고, Ti가 사용자의 개인 키를 볼 일도 없습니다.

***

## 2. 토큰 사용 승인

ERC-20 토큰을 DEX나 라우터가 가져가 교환하려면 사용자가 먼저 「이 컨트랙트가 내 토큰을 이만큼 써도 된다」고 승인해야 합니다. 승인 방식은 세 가지이며, Ti는 토큰마다 지원하는 방식을 확인해 가장 적은 단계로 끝나는 방식을 고릅니다.

| 방식 | 작동 방식 | 쓰는 경우 |
| - | - | - |
| 일반 승인(approve) | 승인 거래를 한 번 보내고, 그다음 교환 거래를 보낸다 | 모든 ERC-20 토큰 |
| ERC-2612 permit | 승인을 거래 대신 서명으로 하고, 그 서명을 교환 거래에 함께 넣는다<sup>[35](https://docs.tiprotocol.io/ko/appendix/references.md#ref-35)</sup> | 토큰이 permit을 지원할 때(예: USDC) |
| Permit2 | Uniswap의 Permit2 컨트랙트에 한 번 승인해 두면, 이후에는 거래마다 서명으로 금액과 기한을 정해 승인한다<sup>[36](https://docs.tiprotocol.io/ko/appendix/references.md#ref-36)</sup> | permit을 지원하지 않는 토큰(예: Ethereum의 USDT) |

permit과 Permit2는 승인 범위를 거래 하나로 좁힐 수 있다는 장점도 있습니다. 서명마다 금액과 기한이 정해지므로, 오래전에 무제한으로 승인해 둔 권한이 나중에 악용되는 일을 줄입니다.

***

## 3. Gasless 모드

블록체인 거래에는 그 체인의 네이티브 토큰으로 내는 네트워크 수수료가 필요합니다. Arbitrum One에 USDC만 있고 ETH가 없다면 USDC를 바꾸고 싶어도 거래를 보낼 수 없습니다. Gasless 모드는 이 문제를 풉니다. 릴레이어가 사용자 대신 거래를 제출하고 네트워크 수수료를 내며, 사용자는 그 비용을 교환하는 스테이블코인이나 Ti 포인트로 정산합니다.

사용자**EIP-712 서명 하나**<ul><li>실행 대상과 calldata 해시</li><li>받을 토큰과 최소 수령량</li><li>받는 주소</li><li>유효 기한</li><li>수수료 토큰</li><li>수수료</li><li>상한</li></ul>서명으로 고정 · 바뀌면 검증 실패릴레이어**거래를 제출하고 가스를 대신 냄**서명한 조건은 바꿀 수 없음체인의 실행 컨트랙트<ol><li>서명 확인</li><li>스왑 실행</li><li>수수료 정산</li></ol>![](https://mintcdn.com/ti-protocol/nfbzCVnO_pXa92Aq/images/src/icons/usdt.svg?fit=max\&auto=format\&n=nfbzCVnO_pXa92Aq\&q=85\&s=f80699292d59b1ca38dd1a2130b2338d)![](https://mintcdn.com/ti-protocol/nfbzCVnO_pXa92Aq/images/src/icons/usdc.svg?fit=max\&auto=format\&n=nfbzCVnO_pXa92Aq\&q=85\&s=fd231eae4271354a1f32693acb22477b)USDT · USDC*/*Ti 포인트승인 방식ERC-2612 permitPermit2EIP-7702 위임조건이 맞지 않으면 일반 거래로 전환그림 크게 보기

**그림 21.** Gasless 스왑에서 사용자는 서명 하나만 하고 가스는 릴레이어가 내지만, 서명한 조건은 릴레이어도 바꿀 수 없습니다.

사용자는 거래 대신 EIP-712 형식의 서명 하나를 만듭니다.<sup>[26](https://docs.tiprotocol.io/ko/appendix/references.md#ref-26)</sup> 이 서명에는 실행할 대상과 실행 내용의 해시, 받을 토큰과 최소 수령량, 받는 주소, 유효 기한, 수수료로 낼 토큰과 수수료, 그리고 수수료 상한이 들어갑니다. 릴레이어는 이 서명을 담아 거래를 제출하고, 체인 위의 실행 컨트랙트는 서명을 검증한 뒤에만 교환을 실행하고 수수료를 정산합니다. 서명에 담긴 조건은 릴레이어가 바꿀 수 없습니다. 실행 내용이 바뀌면 해시가 달라져 서명 검증에서 실패하고, 수수료가 상한을 넘으면 실행되지 않습니다.

토큰 사용 승인도 서명으로 처리합니다. 토큰이 ERC-2612 permit을 지원하면 permit을, 아니면 Permit2를 쓰고, 지갑과 체인이 지원하면 EIP-7702 위임을 씁니다. EIP-7702는 2025년 5월 Ethereum의 Pectra 업그레이드로 도입된 표준으로, 일반 지갑 주소가 서명 한 번으로 정해진 컨트랙트의 실행 로직을 빌려 쓸 수 있게 합니다.<sup>[27](https://docs.tiprotocol.io/ko/appendix/references.md#ref-27)</sup> Ti의 실행 인프라는 ERC-4337 계정 추상화의 페이마스터도 함께 갖추고 있습니다.<sup>[28](https://docs.tiprotocol.io/ko/appendix/references.md#ref-28)</sup>

Gasless 모드에는 다음 조건이 있습니다.

* 기본값은 꺼져 있으며 사용자가 스왑 설정에서 켭니다.
* 같은 체인 안의 교환 가운데 조건을 갖춘 경우에만 쓸 수 있습니다. 네이티브 토큰을 감싸거나 푸는 거래와 체인 간 거래는 네트워크 수수료를 직접 냅니다.
* 수수료 토큰은 USDT와 USDC 가운데 고르며, 우선순위를 바꾸거나 한쪽을 끌 수 있습니다. Ti 포인트로도 낼 수 있습니다.
* 서명하기 전에 예상 수수료를 보여 줍니다. 수수료 추정이 끝나지 않았거나 실패하면 진행 버튼이 잠깁니다.
* 조건이 맞지 않으면 「Gasless 조건을 충족하지 않습니다. 일반 거래로 진행하세요」라는 안내와 함께 일반 거래로 넘어갑니다.

***

## 4. 서명하기 전에 확인할 것

Ti 화면이 아무리 정확해도, 실제로 실행되는 것은 지갑이 보여 주는 내용입니다. Ti는 서명 직전에 사용자가 다음을 확인하도록 안내합니다.

1. 지갑이 연결된 체인이 거래할 체인과 같은지 확인합니다. 다르면 Ti가 체인 전환을 요청합니다.
2. 보내는 토큰과 받는 토큰의 컨트랙트 주소가 공식 주소인지 확인합니다.
3. 보내는 금액과 최소 수령량을 확인합니다.
4. 네트워크 수수료, 브릿지 수수료, Gasless 수수료와 그 상한을 확인합니다.
5. 승인 서명이라면 승인하는 금액과 기한을 확인합니다. 필요 이상의 무제한 승인은 피합니다.
6. 거래 서명인지 메시지 서명인지 확인합니다. 로그인 서명은 자금을 움직이지 않지만, 거래 서명과 permit 서명은 자금과 관련이 있습니다.

Ti 화면과 지갑의 표시가 다르면 서명하지 않아야 합니다. 블록체인 거래는 실행된 뒤 되돌릴 수 없습니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.