# Swap 요청\*

<mark style="color:green;">`POST`</mark> `https://{dashboard-domain}/v1.0/db/swap`

#### Headers

| Name                                            | Type   | Description                 |
| ----------------------------------------------- | ------ | --------------------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Bearer {{web-access-token}} |
| Content-Type<mark style="color:red;">\*</mark>  | string | application/json            |

#### Request Body

| Name                    | Type    | Description                                                                                                                 |
| ----------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------- |
| tx\_type                | int     | <p><strong>swap type</strong></p><p><strong>3: 포인트 -> 코인</strong></p><p><strong>4 : 코인 -> 포인트</strong><br>26 : 코인 -> 코인</p> |
|                         |         |                                                                                                                             |
| from\_point             | object  | 보낼 포인트 정보                                                                                                                   |
| app\_id                 | int64   | 앱 ID                                                                                                                        |
| point\_id               | int64   | 포인트 ID                                                                                                                      |
| adjust\_point\_quantity | int64   | <p>포인트 조정량</p><p>(포인트->코인 이면 음수)</p>                                                                                        |
|                         |         |                                                                                                                             |
| to\_point               | object  | 받을 포인트 정보                                                                                                                   |
| app\_id                 | int64   | 앱 ID                                                                                                                        |
| point\_id               | int64   | 포인트 ID                                                                                                                      |
| adjust\_point\_quantity | int64   | <p>포인트 조정량</p><p>(코인->코인 이면 양수</p>                                                                                          |
|                         |         |                                                                                                                             |
| from\_coin              | object  | 보낼 코인 정보                                                                                                                    |
| coin\_id                | int     | 코인ID                                                                                                                        |
| adjust\_coin\_quantity  | float64 | 코인 조정량 (음수)                                                                                                                 |
|                         |         |                                                                                                                             |
| to\_coin                | object  | 받을 코인 정보                                                                                                                    |
| coin\_id                | int     | 코인ID                                                                                                                        |
| adjust\_coin\_quantity  | float64 | 코인 조정량 (양수)                                                                                                                 |
|                         |         |                                                                                                                             |
| otp\_code               | string  | Authenticator 앱에서 발급 받은 6자리 OTP code                                                                                        |

{% tabs %}
{% tab title="200: OK 성공" %}

```javascript
{
    "return": 0,
    "message": "success",
    "value": {
        "au_id": 5,
        "from_point": {
            "mu_id": 0,
            "app_id": 0,
            "database_id": 0,
            "point_id": 0,
            "previous_point_quantity": 0,
            "adjust_point_quantity": 0,
            "point_quantity": 0
        },
        "to_point": {
            "mu_id": 0,
            "app_id": 0,
            "database_id": 0,
            "point_id": 0,
            "previous_point_quantity": 0,
            "adjust_point_quantity": 0,
            "point_quantity": 0
        },
        "from_coin": {
            "coin_id": 7,
            "coin_symbol": "SUI",
            "base_coin_id": 3,
            "base_coin_symbol": "SUI",
            "walletaddress": "0x40e6c9a38833fae2276c231fadcb1d133ce9e4258159292b1ccfc8553a0a1279",
            "to_wallet": "0xd61a033f4644551427a486c495bd91c25883fbac7ab37f2e871be43de3d01c21",
            "wallet_type_id": 2,
            "wallet_id": 100000152,
            "adjust_coin_quantity": -0.01,
            "token_tx_hash": "",
            "is_complete": false
        },
        "to_coin": {
            "coin_id": 1,
            "coin_symbol": "ONIT",
            "base_coin_id": 1,
            "base_coin_symbol": "ETH",
            "walletaddress": "0x38f998d033990a315b08AFc0F78059Fb7D11Dc4d",
            "to_wallet": "",
            "wallet_type_id": 1,
            "wallet_id": 100000112,
            "adjust_coin_quantity": 0.01,
            "token_tx_hash": "",
            "is_complete": false
        },
        "tx_type": 26,
        "swap_fee_coin_id": 4,
        "swap_fee_coin_symbol": "ETH",
        "swap_fee": 0.0003587810287,
        "swap_fee_string": "358781028700000",
        "swap_fee_string_d": "0.0003587810287",
        "to_wallet": "0xfc788F6956E98feb367b04f442F7CF8C771c25E9",
        "inno_uid": "Qf40Wch7uricUnCcZapBqntoEHgykf4cD/FlvEDlRUs=",
        "tx_id": 2000000000000000347,
        "create_at": 1720770698,
        "tx_hash": "",
        "is_fee_complete": false
    }
}
```

{% endtab %}

{% tab title="200: OK 진행 중인 swap 존재함" %}

```json
{
    "return": 12200,
    "message": "Transfer inprogress"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Example Body \*" %}

```
{
    // "tx_type" : 3,
    // "otp_code" : "690455",
    // "from_point" : {
    //     "app_id" : 1,    
    //     "point_id" : 1,
    //     "adjust_point_quantity" : -10000
    // },
    // "to_coin" :{
    //     "coin_id" : 2,
    //     "adjust_coin_quantity" : 277
    // }

    // "tx_type" : 4,
    // "from_coin" :{
    //     "coin_id" : 7,
    //     "adjust_coin_quantity" : -277
    // },
    // "to_point": {
    //     "app_id": 1,
    //     "point_id": 1,
    //     "adjust_point_quantity": 9999
    // }

    "tx_type" : 26,
    "from_coin" :{
        "coin_id" : 7,
        "adjust_coin_quantity" : -0.01
    },
    "to_coin" :{
        "coin_id" : 1,
        "adjust_coin_quantity" : 0.01
    }
}

```

{% endtab %}

{% tab title="Response Value \*" %}

<table><thead><tr><th width="282.3333333333333">key</th><th width="150.4883720930233">data type</th><th>desc.</th></tr></thead><tbody><tr><td>au_id</td><td>int64</td><td>계정의 UID</td></tr><tr><td></td><td></td><td></td></tr><tr><td><mark style="background-color:green;"><strong>from_point</strong></mark></td><td>object</td><td>보낼 포인트 정보<br>(P2C 일때만 유효)</td></tr><tr><td>mu_id</td><td>int64</td><td>계정의 포인트 MUID</td></tr><tr><td>app_id</td><td>int64</td><td>앱 ID</td></tr><tr><td>database_id</td><td>int64</td><td>데이터베이스 ID</td></tr><tr><td>point_id</td><td>int64</td><td>포인트 ID</td></tr><tr><td>previous_point_quantity</td><td>int64</td><td>이전 포인트량</td></tr><tr><td>adjust_point_quantity</td><td>int64</td><td>감소 포인트량(항상 음수)</td></tr><tr><td>point_quantity</td><td>int64</td><td>최종 포인트량</td></tr><tr><td></td><td></td><td></td></tr><tr><td><mark style="background-color:green;"><strong>to_point</strong></mark></td><td>object</td><td>받을 포인트 정보<br>(C2P 일때만 유효)</td></tr><tr><td>mu_id</td><td>int64</td><td>계정의 포인트 MUID</td></tr><tr><td>app_id</td><td>int64</td><td>앱 ID</td></tr><tr><td>database_id</td><td>int64</td><td>데이터베이스 ID</td></tr><tr><td>point_id</td><td>int64</td><td>포인트 ID</td></tr><tr><td>previous_point_quantity</td><td>int64</td><td>이전 포인트량</td></tr><tr><td>adjust_point_quantity</td><td>int64</td><td>증가 포인트량(항상 양수)</td></tr><tr><td>point_quantity</td><td>int64</td><td>최종 포인트량</td></tr><tr><td></td><td></td><td></td></tr><tr><td><mark style="background-color:green;"><strong>from_coin</strong></mark></td><td>object</td><td>보낼 코인 정보<br>(C2P, C2C 일때만 유효)</td></tr><tr><td>coin_id</td><td>int64</td><td>보낼 코인 ID</td></tr><tr><td>coin_symbol</td><td>string</td><td>보낼 코인 심볼</td></tr><tr><td>base_coin_id</td><td>int64</td><td>보낼 코인의 베이스 코인 ID</td></tr><tr><td>base_coin_symbol</td><td>string</td><td>보낼 코인의 베이스 코인 심볼</td></tr><tr><td>walletaddress</td><td>string</td><td>지갑주소(유져지갑)</td></tr><tr><td>to_wallet</td><td>string</td><td>전송 타겟 지갑 주소(법인지갑)</td></tr><tr><td>wallet_type_id</td><td>int64</td><td>지갑 종류 ID</td></tr><tr><td>wallet_id</td><td>int64</td><td>지갑 ID</td></tr><tr><td>adjust_coin_quantity</td><td>float64</td><td>증감 코인량</td></tr><tr><td>token_tx_hash</td><td>string</td><td>전송 tx hash 정보</td></tr><tr><td>is_complete</td><td>bool</td><td>전송 완료 여부</td></tr><tr><td></td><td></td><td></td></tr><tr><td><mark style="background-color:green;"><strong>to_coin</strong></mark></td><td>object</td><td>받을 코인 정보<br>(P2C, C2C 일때만 유효)</td></tr><tr><td>coin_id</td><td>int64</td><td>받을 코인 ID</td></tr><tr><td>coin_symbol</td><td>string</td><td>받을 코인 심볼</td></tr><tr><td>base_coin_id</td><td>int64</td><td>받을 코인의 베이스 코인 ID</td></tr><tr><td>base_coin_symbol</td><td>string</td><td>받을 코인의 베이스 코인 심볼</td></tr><tr><td>walletaddress</td><td>string</td><td>지갑주소(유져지갑)</td></tr><tr><td>to_wallet</td><td>string</td><td><mark style="color:red;">unused</mark></td></tr><tr><td>wallet_type_id</td><td>int64</td><td>지갑 종류 ID</td></tr><tr><td>wallet_id</td><td>int64</td><td>지갑 ID</td></tr><tr><td>adjust_coin_quantity</td><td>float64</td><td>증감 코인량</td></tr><tr><td>token_tx_hash</td><td>string</td><td>전송 tx hash 정보</td></tr><tr><td>is_complete</td><td>bool</td><td>전송 완료 여부</td></tr><tr><td></td><td></td><td></td></tr><tr><td>tx_type</td><td>int64</td><td><p>Swap 타입</p><p>3: 포인트 -> 코인</p><p>4 : 코인 -> 포인트<br>26 : 코인 -> 코인</p></td></tr><tr><td>swap_fee_coin_id</td><td>int64</td><td>Swap을 위해 납부해야할 수수료 코인 ID (ETH, MATIC, SUI 코인 계열)</td></tr><tr><td>swap_fee_coin_symbol</td><td>string</td><td>swap을 위해 납부해야할 수수료 코인의 심볼 (ETH, MATIC, SUI 코인 계열)</td></tr><tr><td>swap_fee</td><td>float64</td><td>납부 해야할 수수료 (decimal 처리 되어 있음)</td></tr><tr><td>swap_fee_string</td><td>string</td><td><strong>swap_fee</strong> 의 string 형</td></tr><tr><td>swap_fee_string_d</td><td>string</td><td><strong>swap_fee_string</strong> 의 decimal 처리 값</td></tr><tr><td>to_wallet</td><td>string</td><td>수수료 전송 받을 지갑 주소 </td></tr><tr><td>inno_uid</td><td>string</td><td>INNO ID</td></tr><tr><td>tx_id</td><td>int64</td><td>Swap ID(swap 상태 변경 api 에 사용)</td></tr><tr><td>create_at</td><td>int64</td><td>생성 시간 (second)</td></tr><tr><td>tx_hash</td><td>string</td><td>수수료 전송 txhash</td></tr><tr><td>is_fee_complete</td><td>bool</td><td>수수료 전송 성공 여부</td></tr></tbody></table>
{% endtab %}

{% tab title="Example Curl" %}

```
curl --location --request POST 'https://localhost:51031/v1.0/db/swap' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NfdXVpZCI6ImRkYTExNTZiLTBlODUtNGQwMS04OTEzLTQwN2MxZWVkZTEzZSIsImF1X2lkIjoyNSwiZXhwIjoxNjQ2NDEwOTI0OTIyLCJpbm5vX3VpZCI6Ikprb1l1RnZFaEhIenVUYXBsNHlvN3M1SEx3Q08vOWVOSSs4c29icGJsRk1kdS8rNW9UTnNiSm91MHJpR1RnRUMiLCJsb2dpbl90eXBlIjo0fQ.8LT7xGi8KlUHBEvMBjAcry3lXz0jVg6UgdgP_6azJLY' \
--header 'Content-Type: application/json' \
--data-raw '{
    "event_id" : 3,
    "otp_code" : "690455",
    
    "point" : {
        "app_id" : 1,    
        "point_id" : 1,
        "adjust_point_quantity" : -50
    },
    "coin" :{
        "coin_id" : 2,
        "adjust_coin_quantity" : 50
    }
}'
```

{% endtab %}

{% tab title="Result Code" %}

<table><thead><tr><th width="219.33333333333331">return</th><th>message</th><th>desc.</th></tr></thead><tbody><tr><td>0</td><td>success</td><td>성공</td></tr><tr><td><strong>500</strong></td><td>internal server error</td><td>내부 서버 에러</td></tr><tr><td>32100</td><td>EventID is invalid</td><td>eventid 유효성 에러</td></tr><tr><td>32101</td><td>AppID is invalid</td><td>appid 유효성 에러</td></tr><tr><td>32102</td><td>PointID is invalid</td><td>pointid 유효성 에러</td></tr><tr><td>32103</td><td>point quantity is invalid</td><td>point 수량 유효성 에러</td></tr><tr><td>32104</td><td>CoinID is invalid</td><td>coinid 유효성 에러</td></tr><tr><td>32105</td><td>Coin quantity is invalid</td><td>coin 수량 유효성 에러</td></tr><tr><td>32106</td><td>Adjust quantity is invalid</td><td>adjust 수량 유효성 에러</td></tr><tr><td>32201</td><td>App point information does not exist</td><td>swap 하려는 app point 정보가 없음</td></tr><tr><td>32202</td><td>Unknown swap error</td><td>알 수 없는 Swap 에러</td></tr><tr><td><del>34004</del></td><td><del>GetMeCoinList DB Scan Error</del></td><td><del>내부 DB 에러</del></td></tr><tr><td>34005</td><td>GetListMembers DB Scan Error</td><td>내부 DB 에러</td></tr><tr><td><strong>34007</strong></td><td>db get account wallet list error.</td><td>내부 DB 에러</td></tr><tr><td><strong>34008</strong></td><td>do not exist wallet</td><td>보유하고 있는 지갑이 없다.</td></tr><tr><td><strong>36007</strong></td><td>lack of gas</td><td>수수료 부족</td></tr></tbody></table>
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lumiwavelab.gitbook.io/internal-inno-platform-doc-kr/reference/api-reference-v2/inno-dashboard/swap/swap-2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
