---
# System prepended metadata

title: CRYP 文件

---

# CRYP 文件

## 版本紀錄

| 版本 | 修改內容 | 日期 |
| -------- | -------- | -------- |
| 1.0     | 初版     | 2023-03-09 |
| 1.1     | 新增錢包地址API.Response新增參數:公鑰     | 2023-03-10 |
| 1.2     | 金額相關參數，型態皆改為string     | 2023-03-14 |
| 1.3     | Tx交易紀錄查詢API Response.status 新增狀態 0:待確認   | 2023-03-15 |
| 1.4     | 新增 8. ADA  | 2023-04-12 |
| 1.5     | 新增 7.4. 各幣種備註  | 2023-04-12 |
| 1.6 | 交易紀錄通知API.Response.status新增類型: 0:鏈上交易確認中| 2023-05-31 |
| 1.7 | 新增 9. 查詢高度API | 2023-06-07 |
| 1.8 | 新增 10. SOL新增地址API | 2023-06-21 |
| 1.9 | 新增 11. 補資料API | 2023-07-27 |

## 1. 文件說明

### 1.1 名詞解釋

- **平台**
本文件所屬的接口平台。
- **請求URL**
API請求Domain。(視不同幣別提供對應URL)
- **商戶**
使用本文件的平台企業。
- **商戶類型**
平台給予商戶本身代碼

### 1.2 請求方式

- 依照各API採用方式進行交互。
- {coin_domainURL}: http://pre-cc.1-pay.co/

### 1.3 API 固定回傳格式

| 參數含意 | 參數名稱   | 說明  |
| -------- |:------ |:------- |
| 狀態 | status | API呼叫狀態<br>參考備註7-2. 交易狀態代碼 |
| 回傳資料 | data | 依各自API回傳不同資料 |

status:
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 狀態碼   | code | int   | 狀態碼  |
| 訊息     | messages | string   | 訊息 |


#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        ...
    }
}
```

## 2. 新增錢包地址

### 2-1. 請求方式

* `POST {coin_domainURL}/address`

### 2-2. Request
| 參數含意 | 參數名稱   | 參數類型 | 必填 | 說明 |
| -------- |:-------- |:-------- |:--------: |:-------- |
| 商戶類型   | merchant_id | string  | ✔️ | 商戶類型 (例如: OP) |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |


#### 輸入資料範例
```json=
{
    "merchant_id": "OP",
    "chain_type": "BSC"
}
```

### 2-3. Response.Data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 地址     | address | string   | 回傳的地址 |
| 公鑰     | public_key | string   | 地址公鑰(明碼) |
| 私鑰     | secret_key | string   | 地址私鑰(明碼) |


#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "address":"address...",
        "public_key":"0x434344d...",
        "secret_key":"0x1234d..."
    }
}
```


## 3. 提款

### 3-1. 請求方式

* `POST {coin_domainURL}/withdraw`

### 3-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| -------- |:-------- |:-------- |:--------:|:-------- |
| 商戶類型 | merchant_id | string |  ✔️  | 商戶類型 (例如: OP)|
| 幣別 | crypto_type | string|  ✔️   |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 地址私鑰 | secret_key    | string   |  ✔️  | 地址私鑰 |
| 地址     | from_address  | string   |  ✔️  | 地址 |
| 提款地址 | to_address | string   |  ✔️  | 提款地址 |
| 數量 | amount  | string    |  ✔️  | 提幣數量 (例如:0.001)<br>精度：小數後八位 |
| 備註 | memo | string   |  ❌  |若該鏈需要memo，則需填入 |

#### 輸入資料範例
```json=
{
    "merchant_id":"OP",
    "crypto_type":"BNB",
    "chain_type": "BSC",
    "secret_key":"asd4432",
    "from_address":"0x128D99cFD664065940c2F5d9d425b3937622d008",
    "to_address":"0xAAAD99cFD664065940c2F5d9d425b3937622d008",
    "amount": "0.0001",
    "memo": ""
}
```


### 3-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| txhash | tx_hash | string | 鏈上Tx Hash |
| 備註 | memo | string   |備註 |


#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "tx_hash":"abcderf1423554...",
        "memo": ""
    }
}
```


## 4. 鏈上餘額查詢

`單一幣種查詢`

### 4-1. 請求方式

* `GET {coin_domainURL}/{address}/balance/{crypto_type}?chain_type={chain_type}`

### 4-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| ---------- |:---------- |:---------- |:----------:|:----------|
| 交易幣別 | crypto_type | string |  ✔️  |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 地址 | address| string   |  ✔️  |地址 |

### 4-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 餘額 | balance | string | 該地址鏈上餘額 |


#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "balance": "0.0001"
    }
}
```

## 5. Tx交易紀錄查詢

### 5-1. 請求方式

* `GET {coin_domainURL}/tx/{txHash}?{crypto_type}&{chain_type}`

### 5-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| ---------- |:---------- |:---------- |:----------:|:----------|
| 交易幣別 | crypto_type | string |  ✔️  |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| TxHash | tx_hash| string   |  ✔️  |鏈上Tx Hash |


### 5-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 區塊高度 | block_height | int  | 此筆tx的交易區塊高度  |
| TxHash | tx_hash | string | 鏈上交易TxHash  |
| 交易幣別 | crypto_type | string |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 來源地址 | from_address | string | 來源地址 |
| 目的地址 | to_address | string | 目的地址 |
| 數量 | amount | string | 金額 |
| 手續費 | fee | string | 交易手續費 |
| 手續費幣別 | fee_crypto | string  | 手續費使用幣別 |
| 狀態 | status | int | 0:待確認 1: 鏈上交易成功, 2: 鏈上交易失敗 |
| 備註 | memo | string  | 若該鏈有支援備註功能，會有備註訊息 |


#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "block_height":194049,
        "tx_hash":"0x12435...",
        "chain_type":"BSC",
        "crypto_type":"BNB",
        "from_address":"0xaaa....",
        "to_address":"0xbbb...",
        "amount":"0.005",
        "fee":"0.00001",
        "fee_crypto":"BNB",
        "status": 1,
        "memo":""
    }
}
```

## 6. 交易紀錄通知

`當鏈上有新交易時，會將交易內容逐筆通知給商戶`

### 6-1. 請求方式

* `POST {op_domainURL}/transaction`

### 6-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| ---------- |:---------- |:---------- |:----------:|:----------|
| 交易類型 | tx_type | int   |  ✔️  | 1: 充值, 2: 提幣  |
| 區塊高度 | block_height | int   |  ✔️  | 此筆tx的交易區塊高度  |
| TxHash | tx_hash | string   |  ✔️  | 鏈上交易TxHash  |
| 幣別 | crypto_type | string   |  ✔️  |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type| string   |  ✔️  |鏈類型 (例如:BSC)<br>參考備註7-1. 幣別代碼 |
| 來源地址 | from_address | string   |  ✔️  | 來源地址 |
| 目的地址 | to_address | string   |  ✔️  | 目的地址 |
| 數量 | amount | string   |  ✔️  | 金額 |
| 手續費 | fee | string   |  ✔️  | 交易手續費 |
| 手續費幣別 | fee_crypto | string   |  ✔️  | 手續費使用幣別 |
| 狀態 | status | int   |  ✔️  | 0:鏈上交易確認中 1: 鏈上交易成功, 2: 鏈上交易失敗 |
| 備註 | memo | string   |  ❌  | 若該鏈有支援備註功能，會有備註訊息 |

### 6-3. Response

`若商戶確認該款項後，再回傳以下格式`

| 參數含意 | 參數名稱   | 說明  |
| -------- |:------ |:------- |
| 狀態 | status | 只回傳成功 |
| 回傳資料 | data | 留空即可 |

status:
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 狀態碼   | code | int   | 固定為 0  |
| 訊息     | messages | string   | 固定為 success |

#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{}
}
```

## 7. 備註

### 7-1. 幣別代碼(幣別會再補齊)

| 鏈類型<br> chain_type | 幣種<br>crypto_type | 智能合约<br>Contract |
| --- | --- | --- |
| ETH         | ETH         | USDC        |
| POLYGON     | MATIC       | LINK        |
| BSC         | BNB         | BNX , XRP   |
| TRON        | TRX         | USDT        |
| OPTIMISM    | OP          | ETH         |
| BTC         | BTC         | --          |
| ARBITRUM    | ETH         | USDC        |
| ADA         | ADA         | --          |
| BCH         | BCH         | --          |
| DOT         | DOT         | --          |
| FLOW        | FLOW        | --          |
| SOL         | SOL         | ACS , BONK  |
| LTC         | LTC         | --          |
| ETC         | ETC         | --          |
| AVAX-CChain | AVAX        | --          |
| AVAX-XChain | AVAX        | FITFI , GMX |
| XTZ         | XTZ         | --          |
| XLM         | XLM         | --          |
| ONE         | ONE         | --          |
| NEO         | FLM         | GAS         |
| LUNC        | THETA       | --          |
| ZEN         | ZEN         | --          |
| NEAR        | NEAR        | --          |
| XRP         | XRP         | --          |
| ASTAR       | ASTR        | --          |
| ALGO        | ALGO        | --          |
| APTOS       | APT         | ALT         |
| ARWEAVE     | AR          | --          |
| AZERO       | AZERO       | --          |
| LUNC        | LUNA        | USTC        |
| BSV         | BSV         | --          |
| CFX         | CFX         | --          |
| DASH        | DASH        | --          |
| XPC         | XPC         | --          |
| MINA        | MINA        | --          |
| SXP         | SXP         | --          |
| DOGE        | DOGE        | --          |

### 7-2. 交易狀態代碼

| 代碼 | 訊息 | 說明 |
| -------- | -------- | -------- |
| 200   | success                | 成功          |
| 10400 | internal error         | 失敗          |
| 10401 | param invalid          | 參數錯誤      |
| 10402 | balance insufficient   | 可用餘額不足   |
| 10403 | tx not found           | 找不到此Tx紀錄 |
| 10404 | address invalid length | 地址長度錯誤   |
| 10405 | crypto not found       | 無可用幣種     |
| 10406 | transaction fee insufficient | 交易手續費不足 |
| 10407 | withdraw failed        | 交易失敗      |

### 7-3. 各鏈別請求路徑(coin_domain)
| 鏈類型<br>chain_type | Dev | Pre&OL |
| --- | --- | --- |
| ETH | {domain}:30000 | {domain}/cryp-eth |
| POLYGON | {domain}:30001 | {domain}/cryp-polygon |
| BSC | {domain}:30002 | {domain}/cryp-bsc |
| TRON | {domain}:30003 | {domain}/cryp-tron |
| Optimism | {domain}:30004 | {domain}/cryp-optimism |
| BTC | {domain}:30005 | {domain}/cryp-btc |
| ARBITRUM | {domain}:30006 | {domain}/cryp-arbitrum |
| ADA | {domain}:30007 | {domain}/cryp-ada |
| AVAX-CCHAIN | {domain}:30008 | {domain}/cryp-avax-cchain |
| BCH | {domain}:30009 | {domain}/cryp-bch |
| DOT | {domain}:30010 | {domain}/cryp-dot |
| FLOW | {domain}:30011 | {domain}/cryp-flow |
| SOL | {domain}:30012 | {domain}/cryp-sol |
| LTC | {domain}:30013 | {domain}/cryp-ltc |
| ETC | {domain}:30014 | {domain}/cryp-etc |
| XTZ | {domain}:30015 | {domain}/cryp-xtz |
| XLM| {domain}:30016 | {domain}/cryp-xlm |
| ONE| {domain}:30017 | {domain}/cryp-one |
| THETA| {domain}:30018 | {domain}/cryp-theta |
| AVAX-XCHAIN| {domain}:30019 | {domain}/cryp-avax-xchain |
| NEO| {domain}:30020 | {domain}/cryp-neo |
| ZEN| {domain}:30022 | {domain}/cryp-zen |
| NEAR| {domain}:30023 | {domain}/cryp-near |
| XRP| {domain}:30024 | {domain}/cryp-xrp |
| ASTAR| {domain}:30025 | {domain}/cryp-astar |
| ALGO| {domain}:30026 | {domain}/cryp-algo |
| APTOS| {domain}:30027 | {domain}/cryp-aptos |
| ARWEAVE| {domain}:30028 | {domain}/cryp-arweave |
| AZERO| {domain}:30029 | {domain}/cryp-azero |
| LUNC| {domain}:30031 | {domain}/cryp-lunc |
| CFX| {domain}:30032 | {domain}/cryp-conflux |
| DASH| {domain}:30033 | {domain}/cryp-dash |
| XPC| {domain}:30034 | {domain}/cryp-xpc |
| BSV| {domain}:30035 | {domain}/cryp-bsv |
| MINA| {domain}:30036 | {domain}/cryp-mina |
| SXP| {domain}:30037 | {domain}/cryp-sxp |
| CASPER| {domain}:30039 | {domain}/cryp-casper |
| DOGE| {domain}:30038 | {domain}/cryp-doge |
| DGB| {domain}:30040 | {domain}/cryp-digibyte |
| ETHW| {domain}:30041 | {domain}/cryp-ethereumpow |
| FLR| {domain}:30042 | {domain}/cryp-flare |
| CORE| {domain}:30043 | {domain}/cryp-coredao |
| HEDERA| {domain}:30044 | {domain}/cryp-hedera |

### 7.4. 各幣種備註
#### FLOW
* 新增錢包地址API，回傳需等待約10秒
* 提幣時地址餘額需大於0.003

## 8. ADA

### 8-1. 新增錢包地址

#### 8-1-1. 請求方式

* `POST {coin_domainURL}/ada/address`

#### 8-1-2. Request
| 參數含意 | 參數名稱   | 參數類型 | 必填 | 說明 |
| -------- |:-------- |:-------- |:--------: |:-------- |
| 商戶類型   | merchant_id | string  | ✔️ | 商戶類型 (例如: OP) |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |


##### 輸入資料範例
```json=
{
    "merchant_id": "OP",
    "chain_type": "ADA"
}
```

#### 8-1-3. Response.Data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 錢包ID | wallet_id | string | 錢包ID |
| 地址     | address | string   | 回傳的地址 |
| 公鑰     | public_key | string   | 地址公鑰(明碼) |
| 私鑰     | secret_key | string   | 地址私鑰(明碼) |


##### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "wallet_id":"id...",
        "address":"address...",
        "public_key":"0x434344d...",
        "secret_key":"0x1234d..."
    }
}
```


### 8-2. 提款

#### 8-2-1. 請求方式

* `POST {coin_domainURL}/ada/withdraw`

#### 8-2-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| -------- |:-------- |:-------- |:--------:|:-------- |
| 商戶類型 | merchant_id | string |  ✔️  | 商戶類型 (例如: OP)|
| 幣別 | crypto_type | string|  ✔️   |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 錢包ID | wallet_id | string |  ✔️  | 錢包ID |
| 地址私鑰 | secret_key    | string   |  ✔️  | 地址私鑰 |
| 地址    | from_address  | string   |  ✔️  | 地址 |
| 提款地址 | to_address | string   |  ✔️  | 提款地址 |
| 數量 | amount  | string    |  ✔️  | 提幣數量 (例如:0.001)<br>精度：小數後八位 |


##### 輸入資料範例
```json=
{
    "merchant_id":"OP",
    "crypto_type":"ADA",
    "chain_type": "ADA",
    "wallet_id": "id....",
    "secret_key":"asd4432",
    "from_address":"0x128D99cFD664065940c2F5d9d425b3937622d008",
    "to_address":"0xAAAD99cFD664065940c2F5d9d425b3937622d008",
    "amount": "0.0001",
}
```


#### 8-2-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| txhash | tx_hash | string | 鏈上Tx Hash |
| 備註 | memo | string |備註 |


##### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "tx_hash":"abcderf1423554...",
        "memo": ""
    }
}
```

### 8-3. 鏈上餘額查詢

`單一幣種查詢`

#### 8-3-1. 請求方式

* `GET {coin_domainURL}/ada/{wallet_id}/balance/{crypto_type}?{chain_type}`

#### 8-3-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| ---------- |:---------- |:---------- |:----------:|:----------|
| 交易幣別 | crypto_type | string |  ✔️  |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼 | 錢包ID | wallet_id | string |  ✔️  | 錢包ID |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 錢包ID | wallet_id | string |  ✔️  | 錢包ID |

#### 8-3-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 餘額 | balance | string | 該錢包鏈上餘額 |


##### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "balance": "0.0001"
    }
}
```

### 8-4. Tx交易紀錄查詢

#### 8-4-1. 請求方式

* `GET {coin_domainURL}/ada/tx/{txHash}?{crypto_type}&{chain_type}`

#### 8-4-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| ---------- |:---------- |:---------- |:----------:|:----------|
| 交易幣別 | crypto_type | string |  ✔️  |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| TxHash | tx_hash| string   |  ✔️  |鏈上Tx Hash |


#### 8-4-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 區塊高度 | block_height | int  | 此筆tx的交易區塊高度  |
| TxHash | tx_hash | string | 鏈上交易TxHash  |
| 交易幣別 | crypto_type | string |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type | string | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 來源地址 | from_address | []string | 來源地址 |
| 目的地址 | to_address | string | 目的地址 |
| 數量 | amount | string | 金額 |
| 手續費 | fee | string | 交易手續費 |
| 手續費幣別 | fee_crypto | string  | 手續費使用幣別 |
| 狀態 | status | int | 0:待確認 1: 鏈上交易成功, 2: 鏈上交易失敗 |
| 備註 | memo | string  | 若該鏈有支援備註功能，會有備註訊息 |


#### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "block_height":194049,
        "tx_hash":"0x12435...",
        "chain_type":"BSC",
        "crypto_type":"BNB",
        "from_address": {
            "0xaaa....",
        },
        "to_address":"0xbbb...",
        "amount":"0.005",
        "fee":"0.00001",
        "fee_crypto":"BNB",
        "status": 1,
        "memo":""
    }
}
```

### 8-5. 交易紀錄通知

`當鏈上有新交易時，會將交易內容逐筆通知給商戶`

#### 8-5-1. 請求方式

* `POST {op_domainURL}/ada/transaction`

#### 8-5-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| ---------- |:---------- |:---------- |:----------:|:----------|
| 交易類型 | tx_type | int   |  ✔️  | 1: 充值, 2: 提幣  |
| 區塊高度 | block_height | int   |  ✔️  | 此筆tx的交易區塊高度  |
| TxHash | tx_hash | string   |  ✔️  | 鏈上交易TxHash  |
| 幣別 | crypto_type | string   |  ✔️  |幣別 (例如:BNB)<br>參考備註7-1. 幣別代碼  |
| 鏈類型 | chain_type| string   |  ✔️  |鏈類型 (例如:BSC)<br>參考備註7-1. 幣別代碼 |
| 來源地址 | from_address | []string   |  ✔️  | 來源地址 |
| 目的地址 | to_address | string   |  ✔️  | 目的地址 |
| 數量 | amount | string   |  ✔️  | 金額 |
| 手續費 | fee | string   |  ✔️  | 交易手續費 |
| 手續費幣別 | fee_crypto | string   |  ✔️  | 手續費使用幣別 |
| 狀態 | status | int   |  ✔️  | 0:鏈上交易確認中 1: 鏈上交易成功, 2: 鏈上交易失敗 |
| 備註 | memo | string   |  ❌  | 若該鏈有支援備註功能，會有備註訊息 |

#### 8-5-3. Response

`若商戶確認該款項後，再回傳以下格式`

| 參數含意 | 參數名稱   | 說明  |
| -------- |:------ |:------- |
| 狀態 | status | 只回傳成功 |
| 回傳資料 | data | 留空即可 |

status:
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 狀態碼   | code | int   | 固定為 0  |
| 訊息     | messages | string   | 固定為 success |

##### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{}
}
```

## 9. 查詢高度API

### 9-1. 請求方式

* `GET {coin_domainURL}/blockHeight`

### 9-2. Request
| 參數含意 | 參數名稱 | 參數類型 | 必填 | 說明  |
| -------- |:-------- |:-------- |:--------:|:-------- |
| 無 |

#### 輸入資料範例
```json=
{}
```


### 9-3. Response.Data

| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| db區塊高度 | db_block_height | int | db區塊高度 |
| 節點區塊高度 | node_block_height | int   | 節點區塊高度 |
| 高度差距 | diff | int | 高度差距 |


#### 回傳範例
```json=
{
    "status": {
        "code": 200,
        "messages": "success"
    },
    "data": {
        "db_block_height": 20761888,
        "node_block_height": 20761887,
        "diff": -1
    }
}
```

## 10. SOL

### 10-1. 新增錢包地址

#### 10-1-1. 請求方式

* `POST {coin_domainURL}/address`

#### 10-1-2. Request
| 參數含意 | 參數名稱   | 參數類型 | 必填 | 說明 |
| -------- |:-------- |:-------- |:--------: |:-------- |
| 商戶類型   | merchant_id | string  | ✔️ | 商戶類型 (例如: OP) |
| 鏈類型 | chain_type | string |  ✔️  | 鏈類型<br>參考備註7-1. 幣別代碼 |
| 幣別 | crypto_type | string |  ✔️  | 幣別 |

##### 輸入資料範例
```json=
{
    "merchant_id": "OP",
    "chain_type": "SOL",
    "crypto_type": "SOL"
}
```

#### 10-1-3. Response.Data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 錢包ID | wallet_id | string | 錢包ID |
| 地址     | address | string   | 回傳的地址 |
| 公鑰     | public_key | string   | 地址公鑰(明碼) |
| 私鑰     | secret_key | string   | 地址私鑰(明碼) |


##### 回傳範例
```json=
{
    "status":{
        "code":0,
        "messages":"success"  
    },
    "data":{
        "wallet_id":"id...",
        "address":"address...",
        "public_key":"0x434344d...",
        "secret_key":"0x1234d..."
    }
}
```

## 11. 補資料API

### 11-1. 依區塊高度

#### 11-1-1. 請求方式

* `POST {coin_domainURL}/{cryp-type}/block/{blockHeight}/transaction`

#### 11-1-2. Request
| 參數含意 | 參數名稱   | 參數類型 | 必填 | 說明 |
| -------- |:-------- |:-------- |:--------: |:-------- |
| 區塊高度   | blockHeight | int | ✔️ | 欲補資料的區塊高度 |

#### 11-1-3. Response.Data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 為該鏈db.transaction |||


##### 回傳範例
```json=
{
    "status": {
        "code": 200,
        "messages": "success"
    },
    "data": [
        {
            "ID": 0,
            "CreateTime": 0,
            "UpdateTime": 0,
            "TxType": 1,
            "BlockHeight": 16538528,
            "TxHash": "0xf464cdfc56b817a0e7f9b570d33b432ef5a331f4a1f751cb9e484153f01d1eb9",
            "CryptoType": "DOT",
            "ChainType": "DOT",
            "FromAddress": "1qnJN7FViy3HZaxZK9tGAA71zxHSBeUweirKqCaox4t8GT7",
            "ToAddress": "15oYecp2mfsJtPeRSZLcdmtvSWid2NizBJKjBL1Dc5DonnCH",
            "Amount": "152.82933894",
            "Fee": "0.0207077217",
            "FeeCrypto": "",
            "Confirm": 0,
            "Status": 0,
            "Memo": "",
            "NotifyStatus": 0,
            "RiskControlStatus": 0
        }
    ]
}
```

### 11-2. 依地址

```
cryp-ada, cryp-sol, cryp-aptos
視排程：監聽區塊高度更新方式，因上述服務是以地址更新高度交易資料，故才使用這隻API
```

#### 11-2-1. 請求方式

* `POST {coin_domainURL}/block/{address}/transaction`

#### 11-2-2. Request
| 參數含意 | 參數名稱   | 參數類型 | 必填 | 說明 |
| -------- |:-------- |:-------- |:--------: |:-------- |
| 地址   | address | int | ✔️ | 欲補資料的地址 |


#### 11-1-3. Response.Data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 為該鏈db.transaction |||


##### 回傳範例
```json=
{
    "status": {
        "code": 200,
        "messages": "success"
    },
    "data": [
        {
            "ID": 0,
            "CreateTime": 0,
            "UpdateTime": 0,
            "TxType": 1,
            "BlockHeight": 16538528,
            "TxHash": "0xf464cdfc56b817a0e7f9b570d33b432ef5a331f4a1f751cb9e484153f01d1eb9",
            "CryptoType": "DOT",
            "ChainType": "DOT",
            "FromAddress": "1qnJN7FViy3HZaxZK9tGAA71zxHSBeUweirKqCaox4t8GT7",
            "ToAddress": "15oYecp2mfsJtPeRSZLcdmtvSWid2NizBJKjBL1Dc5DonnCH",
            "Amount": "152.82933894",
            "Fee": "0.0207077217",
            "FeeCrypto": "",
            "Confirm": 0,
            "Status": 0,
            "Memo": "",
            "NotifyStatus": 0,
            "RiskControlStatus": 0
        }
    ]
}
```

## 12. 手續費(BTC-LIKE)

### 12-1. 修改手續費

#### 12-1-1. 請求方式

* `POST {coin_domainURL}/{cryp-type}/fee/update`

### 12-2. Request
| 參數含意 | 參數名稱   | 參數類型 | 必填 | 說明 |
| -------- |:-------- |:-------- |:--------: |:-------- |
| BTC手續費單位   | satoshi | int | ✔️ | 所需耗費的gas |

#### 12-2-1.
| 參數含意 | 參數名稱   | 說明  |
| -------- |:------ |:------- |
| 狀態 | status | 只回傳成功 |
| 回傳資料 | data | 留空即可 |

#### 12-2-2. Response.data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| 為該鏈db.transaction |||

##### 回傳範例
```json=
{
    "status": {
        "code": 200,
        "messages": "success"
    },
    "data": []
}
```

### 12-2. 查詢手續費

#### 12-2-1. 請求方式

* `GET {coin_domainURL}/{cryp-type}/fee`

#### 12-2-2. Response.Data
| 參數含意 | 參數名稱   | 參數類型 | 說明  |
| -------- |:------ |:------ |:------- |
| BTC手續費單位     | satoshi | string   | BTC最小單位 |
| BTC價格     | btc | string   | BTC單位 |
```json=
{
    "status": {
        "code": 200,
        "messages": "success"
    },
    "data": {
        "satoshi": "45",
        "btc": "0.00000045"
    }
}
```
