# SecureAPI 入門

## <mark style="color:blue;">簡介</mark>

AkashicPay 是一個安全且可擴充的支付平台，旨在促進多個區塊鏈網路的加密貨幣交易。它支援存款、付款和交易追蹤，並著重於安全性，利用機密虛擬機 (CVM) 實例和開放原始碼來提高透明度。此 API 讓開發人員可以將 AkashicPay 的功能整合到他們的應用程式中，實現餘額檢索、交易處理和匯率查詢等功能。下面的文件提供了關於端點、參數、回應和最佳實踐的詳細資訊，可幫助您開始使用。

有關 Mainnet 和 Testnet API 端點及 IP 白名單，請聯絡 [AkashicPay 客服中心](https://t.me/akashicpay_support_bot)。

> <mark style="color:red;">免責聲明：AkashicPay 的 SecureAPI 服務不會收集或儲存業務合作夥伴（BP）的密鑰對。此可通過我們的公開代碼庫和證明協議進行驗證，以確保我們的 SecureAPI 服務不包含任何惡意代碼。</mark>

### <mark style="color:blue;">驗證</mark>

所有 API 請求都需要以下標頭：

* `x-ap-k`： 您的[密鑰對](https://docs.akashicpay.com/traditional-chinese/yi-biao-ban/kai-fa-zhe#chan-sheng-fu-zhu-mi-yue-dui)
* `x-ap-a`： 您的 [L2 地址](https://app.gitbook.com/s/jkAgtIC0Ktk8sFbmegnC/zhi-nan/kuai-su-zhi-nan#fu-zhi-di-zhi)

範例：

```sh
curl -H "x-ap-k: your-private-key" -H "x-ap-a: your-l2-address" https://xxx.xxx.xxx.xxx/getBalance
```

***

### <mark style="color:blue;">驗證 API 安全性</mark>

由於我們的 API 接受使用者的密鑰對，因此必須確保我們的 API 伺服器在高度可信賴的執行環境中安全運作。為了提高透明度與信任度，我們已將 API 開放源碼，網址為 <https://github.com/akashicpay/secured-api>。我們提供一個認證 (Attestation) 端點來驗證我們的服務是否在合法的 Confidential Virtual Machine (CVM) 虛擬機器實體中執行，並在預期的狀態下運作。此外，驗證 (Verify) 端點可讓您確認我們正在執行的程式碼與開放原始碼版本完全相符。您可以將套件庫複製到您的本機環境，然後以相同的種子執行相同的端點來比較切細值。我們強烈建議定期檢查這些端點，以確保持續的安全性。API 或其環境的任何變更都會事先在我們的網站和 GitHub 儲存庫中公佈，讓您可以參考和驗證。

#### <mark style="color:blue;">認證 (Attestation) 端點</mark>

端點： `GET /`

說明： 認證是增加對 Confidential Virtual Machine (CVM) 虛擬機器實體是否合法且以預期狀態運作的信心的過程。

請求參數： 無

回應：

```json
// testnet
{
  "version": "1.6.0",
  "status": "running",
  "confidential": true,
  "isMocked": false,
  "isAccessible": false,
  "attestation": {
    "amd_ca_authority": "https://kdsintf.amd.com/vlek/v1/Milan/cert_chain",
    "ark": "-----BEGIN CERTIFICATE-----\nMIIGYzCCBBKgAwIBAgIDAQAAMEYGCSqGSIb3DQEBCjA5oA8wDQYJYIZIAWUDBAIC\nBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZIAWUDBAICBQCiAwIBMKMDAgEBMHsxFDAS\nBgNVBAsMC0VuZ2luZWVyaW5nMQswCQYDVQQGEwJVUzEUMBIGA1UEBwwLU2FudGEg\nQ2xhcmExCzAJBgNVBAgMAkNBMR8wHQYDVQQKDBZBZHZhbmNlZCBNaWNybyBEZXZp\nY2VzMRIwEAYDVQQDDAlBUkstTWlsYW4wHhcNMjAxMDIyMTcyMzA1WhcNNDUxMDIy\nMTcyMzA1WjB7MRQwEgYDVQQLDAtFbmdpbmVlcmluZzELMAkGA1UEBhMCVVMxFDAS\nBgNVBAcMC1NhbnRhIENsYXJhMQswCQYDVQQIDAJDQTEfMB0GA1UECgwWQWR2YW5j\nZWQgTWljcm8gRGV2aWNlczESMBAGA1UEAwwJQVJLLU1pbGFuMIICIjANBgkqhkiG\n9w0BAQEFAAOCAg8AMIICCgKCAgEA0Ld52RJOdeiJlqK2JdsVmD7FktuotWwX1fNg\nW41XY9Xz1HEhSUmhLz9Cu9DHRlvgJSNxbeYYsnJfvyjx1MfU0V5tkKiU1EesNFta\n1kTA0szNisdYc9isqk7mXT5+KfGRbfc4V/9zRIcE8jlHN61S1ju8X93+6dxDUrG2\nSzxqJ4BhqyYmUDruPXJSX4vUc01P7j98MpqOS95rORdGHeI52Naz5m2B+O+vjsC0\n60d37jY9LFeuOP4Meri8qgfi2S5kKqg/aF6aPtuAZQVR7u3KFYXP59XmJgtcog05\ngmI0T/OitLhuzVvpZcLph0odh/1IPXqx3+MnjD97A7fXpqGd/y8KxX7jksTEzAOg\nbKAeam3lm+3yKIcTYMlsRMXPcjNbIvmsBykD//xSniusuHBkgnlENEWx1UcbQQrs\n+gVDkuVPhsnzIRNgYvM48Y+7LGiJYnrmE8xcrexekBxrva2V9TJQqnN3Q53kt5vi\nQi3+gCfmkwC0F0tirIZbLkXPrPwzZ0M9eNxhIySb2npJfgnqz55I0u33wh4r0ZNQ\neTGfw03MBUtyuzGesGkcw+loqMaq1qR4tjGbPYxCvpCq7+OgpCCoMNit2uLo9M18\nfHz10lOMT8nWAUvRZFzteXCm+7PHdYPlmQwUw3LvenJ/ILXoQPHfbkH0CyPfhl1j\nWhJFZasCAwEAAaN+MHwwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSFrBrRQ/fI\nrFXUxR1BSKvVeErUUzAPBgNVHRMBAf8EBTADAQH/MDoGA1UdHwQzMDEwL6AtoCuG\nKWh0dHBzOi8va2RzaW50Zi5hbWQuY29tL3ZjZWsvdjEvTWlsYW4vY3JsMEYGCSqG\nSIb3DQEBCjA5oA8wDQYJYIZIAWUDBAICBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZI\nAWUDBAICBQCiAwIBMKMDAgEBA4ICAQC6m0kDp6zv4Ojfgy+zleehsx6ol0ocgVel\nETobpx+EuCsqVFRPK1jZ1sp/lyd9+0fQ0r66n7kagRk4Ca39g66WGTJMeJdqYriw\nSTjjDCKVPSesWXYPVAyDhmP5n2v+BYipZWhpvqpaiO+EGK5IBP+578QeW/sSokrK\ndHaLAxG2LhZxj9aF73fqC7OAJZ5aPonw4RE299FVarh1Tx2eT3wSgkDgutCTB1Yq\nzT5DuwvAe+co2CIVIzMDamYuSFjPN0BCgojl7V+bTou7dMsqIu/TW/rPCX9/EUcp\nKGKqPQ3P+N9r1hjEFY1plBg93t53OOo49GNI+V1zvXPLI6xIFVsh+mto2RtgEX/e\npmMKTNN6psW88qg7c1hTWtN6MbRuQ0vm+O+/2tKBF2h8THb94OvvHHoFDpbCELlq\nHnIYhxy0YKXGyaW1NjfULxrrmxVW4wcn5E8GddmvNa6yYm8scJagEi13mhGu4Jqh\n3QU3sf8iUSUr09xQDwHtOQUVIqx4maBZPBtSMf+qUDtjXSSq8lfWcd8bLr9mdsUn\nJZJ0+tuPMKmBnSH860llKk+VpVQsgqbzDIvOLvD6W1Umq25boxCYJ+TuBoa4s+HH\nCViAvgT9kf/rBq1d+ivj6skkHxuzcxbk1xv6ZGxrteJxVH7KlX7YRdZ6eARKwLe4\nAFZEAwoKCQ==\n-----END CERTIFICATE-----\n",
    "ask": "-----BEGIN CERTIFICATE-----\n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\n-----END CERTIFICATE-----\n",
    "verify": "openssl verify --CAfile ./cert_chain.pem [ask|ark].pem"
  },
  "ca": "-----BEGIN CERTIFICATE-----\nMIIDuzCCAqOgAwIBAgIUInIGFng78Xd/UMo3Fz1fg1FnasIwDQYJKoZIhvcNAQEL\nBQAwbTELMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9u\nZG9uMRMwEQYDVQQKDApOb3RhYm94IENBMQ0wCwYDVQQLDARSb290MRgwFgYDVQQD\nDA9Ob3RhYm94IFJvb3QgQ0EwHhcNMjUwNzI4MTEzOTUwWhcNMzAwNzI3MTEzOTUw\nWjBtMQswCQYDVQQGEwJVSzEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25k\nb24xEzARBgNVBAoMCk5vdGFib3ggQ0ExDTALBgNVBAsMBFJvb3QxGDAWBgNVBAMM\nD05vdGFib3ggUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAN9Fv2fRVjSu+NVwl1x6ouuPAvRa/8pdABHaGm+qSx1utW4BZwozO4V35XZlmo8m\nQiif4mrBOSTN22VbjNc9ajIbAucFTEZHyN7Mv1cgGC7loTWfZmmMicXdRSeMasvH\nQGefuMDxFiwrg+Aj+FT6qwaDaoBkmIeOpZHFzactrtZMLyRHH5Hky2H9pEJ9CYR7\n1KbKhI52R65N/NgECgFosRnXWwV30WlGk0g6BbhyyQoIcZZG9WDcyNpu/ZCLNjNW\nxIjansyR6OdNgC2KVYrrrFqQ+DwlzB7ogvXIOzJNyCVufrItOGvs/eNDtSdSkI0h\nPZACfmBM5+hBeUKzuBGyuV8CAwEAAaNTMFEwHQYDVR0OBBYEFDXjLj2c5FU4is17\nx1r0mCOlAePgMB8GA1UdIwQYMBaAFDXjLj2c5FU4is17x1r0mCOlAePgMA8GA1Ud\nEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBANaWKZb19Ztp7fBHMfhT3Hcb\n3TPQTZlxvaTdChBL0EDA0fYPqE0mNNYVDoh0vHBCK0cQJMuIHaZfwBHTPl5igou1\nNbT+PhxjgWfsCva0t3ckiz0XBJ6j4gDuVzcOsPDuW6HWi9vMde7t6bwAfDCDPvtr\n7kBNIkZvIxAJroNrSvVtyQo6PyGS6zS5SIPz5togRsNv0TWKzMNPEayxIxhWoKMa\n/rrVo3WhFlW+IMjzznzDNIZ8cclNRUkm+YvA9aR9fOJ6Kz5/pstm4KgVB86GCD2v\nFtp8knq0WSQEFWmj6lcZEi/ttpxR/5hvXWUL3bJWVqQQWODNfplnWpYnOzPyIL4=\n-----END CERTIFICATE-----\n"
}

// mainnet
{
  "version": "1.6.0",
  "status": "running",
  "confidential": true,
  "isMocked": false,
  "isAccessible": false,
  "attestation": {
    "amd_ca_authority": "https://kdsintf.amd.com/vlek/v1/Milan/cert_chain",
    "ark": "-----BEGIN CERTIFICATE-----\nMIIGYzCCBBKgAwIBAgIDAQAAMEYGCSqGSIb3DQEBCjA5oA8wDQYJYIZIAWUDBAIC\nBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZIAWUDBAICBQCiAwIBMKMDAgEBMHsxFDAS\nBgNVBAsMC0VuZ2luZWVyaW5nMQswCQYDVQQGEwJVUzEUMBIGA1UEBwwLU2FudGEg\nQ2xhcmExCzAJBgNVBAgMAkNBMR8wHQYDVQQKDBZBZHZhbmNlZCBNaWNybyBEZXZp\nY2VzMRIwEAYDVQQDDAlBUkstTWlsYW4wHhcNMjAxMDIyMTcyMzA1WhcNNDUxMDIy\nMTcyMzA1WjB7MRQwEgYDVQQLDAtFbmdpbmVlcmluZzELMAkGA1UEBhMCVVMxFDAS\nBgNVBAcMC1NhbnRhIENsYXJhMQswCQYDVQQIDAJDQTEfMB0GA1UECgwWQWR2YW5j\nZWQgTWljcm8gRGV2aWNlczESMBAGA1UEAwwJQVJLLU1pbGFuMIICIjANBgkqhkiG\n9w0BAQEFAAOCAg8AMIICCgKCAgEA0Ld52RJOdeiJlqK2JdsVmD7FktuotWwX1fNg\nW41XY9Xz1HEhSUmhLz9Cu9DHRlvgJSNxbeYYsnJfvyjx1MfU0V5tkKiU1EesNFta\n1kTA0szNisdYc9isqk7mXT5+KfGRbfc4V/9zRIcE8jlHN61S1ju8X93+6dxDUrG2\nSzxqJ4BhqyYmUDruPXJSX4vUc01P7j98MpqOS95rORdGHeI52Naz5m2B+O+vjsC0\n60d37jY9LFeuOP4Meri8qgfi2S5kKqg/aF6aPtuAZQVR7u3KFYXP59XmJgtcog05\ngmI0T/OitLhuzVvpZcLph0odh/1IPXqx3+MnjD97A7fXpqGd/y8KxX7jksTEzAOg\nbKAeam3lm+3yKIcTYMlsRMXPcjNbIvmsBykD//xSniusuHBkgnlENEWx1UcbQQrs\n+gVDkuVPhsnzIRNgYvM48Y+7LGiJYnrmE8xcrexekBxrva2V9TJQqnN3Q53kt5vi\nQi3+gCfmkwC0F0tirIZbLkXPrPwzZ0M9eNxhIySb2npJfgnqz55I0u33wh4r0ZNQ\neTGfw03MBUtyuzGesGkcw+loqMaq1qR4tjGbPYxCvpCq7+OgpCCoMNit2uLo9M18\nfHz10lOMT8nWAUvRZFzteXCm+7PHdYPlmQwUw3LvenJ/ILXoQPHfbkH0CyPfhl1j\nWhJFZasCAwEAAaN+MHwwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSFrBrRQ/fI\nrFXUxR1BSKvVeErUUzAPBgNVHRMBAf8EBTADAQH/MDoGA1UdHwQzMDEwL6AtoCuG\nKWh0dHBzOi8va2RzaW50Zi5hbWQuY29tL3ZjZWsvdjEvTWlsYW4vY3JsMEYGCSqG\nSIb3DQEBCjA5oA8wDQYJYIZIAWUDBAICBQChHDAaBgkqhkiG9w0BAQgwDQYJYIZI\nAWUDBAICBQCiAwIBMKMDAgEBA4ICAQC6m0kDp6zv4Ojfgy+zleehsx6ol0ocgVel\nETobpx+EuCsqVFRPK1jZ1sp/lyd9+0fQ0r66n7kagRk4Ca39g66WGTJMeJdqYriw\nSTjjDCKVPSesWXYPVAyDhmP5n2v+BYipZWhpvqpaiO+EGK5IBP+578QeW/sSokrK\ndHaLAxG2LhZxj9aF73fqC7OAJZ5aPonw4RE299FVarh1Tx2eT3wSgkDgutCTB1Yq\nzT5DuwvAe+co2CIVIzMDamYuSFjPN0BCgojl7V+bTou7dMsqIu/TW/rPCX9/EUcp\nKGKqPQ3P+N9r1hjEFY1plBg93t53OOo49GNI+V1zvXPLI6xIFVsh+mto2RtgEX/e\npmMKTNN6psW88qg7c1hTWtN6MbRuQ0vm+O+/2tKBF2h8THb94OvvHHoFDpbCELlq\nHnIYhxy0YKXGyaW1NjfULxrrmxVW4wcn5E8GddmvNa6yYm8scJagEi13mhGu4Jqh\n3QU3sf8iUSUr09xQDwHtOQUVIqx4maBZPBtSMf+qUDtjXSSq8lfWcd8bLr9mdsUn\nJZJ0+tuPMKmBnSH860llKk+VpVQsgqbzDIvOLvD6W1Umq25boxCYJ+TuBoa4s+HH\nCViAvgT9kf/rBq1d+ivj6skkHxuzcxbk1xv6ZGxrteJxVH7KlX7YRdZ6eARKwLe4\nAFZEAwoKCQ==\n-----END CERTIFICATE-----\n",
    "ask": "-----BEGIN CERTIFICATE-----\n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\n-----END CERTIFICATE-----\n",
    "verify": "openssl verify --CAfile ./cert_chain.pem [ask|ark].pem"
  },
  "ca": "-----BEGIN CERTIFICATE-----\nMIIDuzCCAqOgAwIBAgIUWUvucDzD0nMv17jFcpzFWISV+DswDQYJKoZIhvcNAQEL\nBQAwbTELMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9u\nZG9uMRMwEQYDVQQKDApOb3RhYm94IENBMQ0wCwYDVQQLDARSb290MRgwFgYDVQQD\nDA9Ob3RhYm94IFJvb3QgQ0EwHhcNMjUwNzI4MTEzNDI0WhcNMzAwNzI3MTEzNDI0\nWjBtMQswCQYDVQQGEwJVSzEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25k\nb24xEzARBgNVBAoMCk5vdGFib3ggQ0ExDTALBgNVBAsMBFJvb3QxGDAWBgNVBAMM\nD05vdGFib3ggUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAKrNZiY0s4btuKLROxht2CCcohVwcoX+1gcd7+HnbozRD+FyYukiKJPBIPUJVhD9\n5ei+aOTB5t4Omyg1HFDpfaesB97DTB7Bt2PNgEze7QdPAJ+s4P3PJSntodOgZiOz\n+8k+j/w26U3QxFLtcex51aYHM2GTOqlkz13TJH+6V4BmkKt/syR6lN77cy58h+fJ\ncl4Nqd6JbwGw9Izg2KQ8Lh80xAaY0B4nkEegwqKpmFqa58RdiP/qRMq4e23QLgR7\nisAHhd/NfN7/DTgHGIFNj1v7OXScoaqnqyJe5fVzH1uZ3iO9y5kgRq+QOjvVzVa1\n/9sNJ91ET1pbi7KvYQEY4a0CAwEAAaNTMFEwHQYDVR0OBBYEFEfupidmhk3MbBk0\nfBwChr7NNuObMB8GA1UdIwQYMBaAFEfupidmhk3MbBk0fBwChr7NNuObMA8GA1Ud\nEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJX60PXrBEXuXPUPgZUfP52/\nEPrAoT00jvZNNtVWNUMUbamFOBuuP+UNe+tbOcmbSZc6ubf1lCYC3QtK8w/IcP7P\nw5EGoxlY8Im9mxETtHiclelCueqIZvpTF67HT5B9q6sMUKfeRgjx3egwkA4NCIcQ\nEMvVkJlG6hzuF1boYOB9Mi4Z75wAqN/0BoLp+hoF68QSzQSyqpxjdiUksNBLbBHZ\nqJayVd43I9O0rRP+nOve2r3CJw//VAf3wLjmVi7+2viPBYJWAdWDKBPNo3aarGL7\nPmX0FxmA0/vryEdQGsFLM6Z0Ty1UZiSK/0z3NVGa0yQw+fhGUe8tL3VMZh7AygY=\n-----END CERTIFICATE-----\n"
}

```

#### <mark style="color:blue;">驗證 (Verify) 端點</mark>

端點： `GET /verify/yoursalt`

說明： 根據提供的鹽值對記憶體中的函數進行散列，以檢查檔案是否已被修改，確保執行中的程式碼與 原始碼版本相符。

請求參數： 無

回應：

```json
// testnet
{
  "secret": "yoursalt",
  "base": "25a65ba39781a4a88eb102bddd3f01d383d84ea2935dfceba22c6fdb6c1c5b44",
  "calculated": "5379e4816d509490d874f09b954a70cdbcd0149ace0bdfc0e9f5ececa684ee0a",
  "version": "1.6.0"
}

// mainnet
{
  "secret": "yoursalt",
  "base": "25a65ba39781a4a88eb102bddd3f01d383d84ea2935dfceba22c6fdb6c1c5b44",
  "calculated": "5379e4816d509490d874f09b954a70cdbcd0149ace0bdfc0e9f5ececa684ee0a",
  "version": "1.6.0"
}
```

### <mark style="color:blue;">憑證設定</mark>

我們的 API 使用自簽的憑證，為了避免 SSL/TLS 警告，您需要設定您的用戶端信任我們的憑證授權機構 (CA)。這包括將我們的根 CA 安裝到您的作業系統/瀏覽器信任儲存庫中，或在您的用戶端/編碼基中對我們的 API 執行請求時指定 CA 證書。

#### <mark style="color:blue;">下載憑證授權</mark>

使用下列連結下載 SecureAPI Root CA 證書：

**正式環境：**

{% file src="<https://812529792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSTlygtL7GMdsE7h1Lavf%2Fuploads%2FOnxxXLu03dFTu6AOV8cb%2Fsecureapi-mainnet-ca.pem?alt=media&token=127d26f3-0c19-4601-ab70-2c9273b001f4>" %}

{% tabs %}
{% tab title="Bash" %}

```bash
# Using wget
wget https://cdn.akashicpay.com/secureapi-mainnet-ca.pem
# Using curl
curl -o https://cdn.akashicpay.com/secureapi-mainnet-ca.pem
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
Invoke-WebRequest -Uri "https://cdn.akashicpay.com/secureapi-mainnet-ca.pem" -OutFile "secureapi-mainnet-ca.crt"
```

{% endtab %}
{% endtabs %}

**測試環境：**

{% file src="<https://812529792-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSTlygtL7GMdsE7h1Lavf%2Fuploads%2FSEFjf2wSkm2Q58TvaqDD%2Fsecureapi-testnet-ca.pem?alt=media&token=d13eba3e-afe9-4f28-b0a3-5c412ad73700>" %}

{% tabs %}
{% tab title="Bash" %}

```bash
# Using wget
wget https://cdn.akashicpay.com/secureapi-testnet-ca.pem
# Using curl
curl -o https://cdn.akashicpay.com/secureapi-testnet-ca.pem
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
Invoke-WebRequest -Uri "https://cdn.akashicpay.com/secureapi-testnet-ca.pem" -OutFile "secureapi-testnet-ca.crt"
```

{% endtab %}
{% endtabs %}

根憑證會在存取 SecureAPI 的根目錄時顯示，例如**測試環境**和**正式環境** SecureAPI 的根憑證是不同的：

```json
"ca": "-----BEGIN CERTIFICATE-----\nMIIDuzCCAqOgAwIBAgIUInIGFng78Xd/UMo3Fz1fg1FnasIwDQYJKoZIhvcNAQEL\nBQAwbTELMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9u\nZG9uMRMwEQYDVQQKDApOb3RhYm94IENBMQ0wCwYDVQQLDARSb290MRgwFgYDVQQD\nDA9Ob3RhYm94IFJvb3QgQ0EwHhcNMjUwNzI4MTEzOTUwWhcNMzAwNzI3MTEzOTUw\nWjBtMQswCQYDVQQGEwJVSzEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25k\nb24xEzARBgNVBAoMCk5vdGFib3ggQ0ExDTALBgNVBAsMBFJvb3QxGDAWBgNVBAMM\nD05vdGFib3ggUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAN9Fv2fRVjSu+NVwl1x6ouuPAvRa/8pdABHaGm+qSx1utW4BZwozO4V35XZlmo8m\nQiif4mrBOSTN22VbjNc9ajIbAucFTEZHyN7Mv1cgGC7loTWfZmmMicXdRSeMasvH\nQGefuMDxFiwrg+Aj+FT6qwaDaoBkmIeOpZHFzactrtZMLyRHH5Hky2H9pEJ9CYR7\n1KbKhI52R65N/NgECgFosRnXWwV30WlGk0g6BbhyyQoIcZZG9WDcyNpu/ZCLNjNW\nxIjansyR6OdNgC2KVYrrrFqQ+DwlzB7ogvXIOzJNyCVufrItOGvs/eNDtSdSkI0h\nPZACfmBM5+hBeUKzuBGyuV8CAwEAAaNTMFEwHQYDVR0OBBYEFDXjLj2c5FU4is17\nx1r0mCOlAePgMB8GA1UdIwQYMBaAFDXjLj2c5FU4is17x1r0mCOlAePgMA8GA1Ud\nEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBANaWKZb19Ztp7fBHMfhT3Hcb\n3TPQTZlxvaTdChBL0EDA0fYPqE0mNNYVDoh0vHBCK0cQJMuIHaZfwBHTPl5igou1\nNbT+PhxjgWfsCva0t3ckiz0XBJ6j4gDuVzcOsPDuW6HWi9vMde7t6bwAfDCDPvtr\n7kBNIkZvIxAJroNrSvVtyQo6PyGS6zS5SIPz5togRsNv0TWKzMNPEayxIxhWoKMa\n/rrVo3WhFlW+IMjzznzDNIZ8cclNRUkm+YvA9aR9fOJ6Kz5/pstm4KgVB86GCD2v\nFtp8knq0WSQEFWmj6lcZEi/ttpxR/5hvXWUL3bJWVqQQWODNfplnWpYnOzPyIL4=\n-----END CERTIFICATE-----\n"
```

您可以驗證根憑證是否與上述檔案相符，並安裝一次。

### <mark style="color:blue;">Root CA 安裝</mark>

**作業系統安裝**

{% tabs %}
{% tab title="macOS" %}

```bash
# Download the certificate
curl -o https://cdn.akashicpay.com/secureapi-mainnet-ca.pem

# Install to System Keychain
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain secureapi-mainnet-ca.pem

# For user keychain (alternative)
security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain secureapi-mainnet-ca.pem
```

{% endtab %}

{% tab title="Ubuntu/Debian" %}

```bash
# Download the certificate
wget https://cdn.akashicpay.com/secureapi-mainnet-ca.pem

# Install to system certificate store
sudo cp secureapi-mainnet-ca.pem /usr/local/share/ca-certificates/secureapi-mainnet-ca.pem
sudo update-ca-certificates
```

{% endtab %}

{% tab title="CentOS/RHEL/Fedora" %}

```bash
# Download the certificate
wget https://cdn.akashicpay.com/secureapi-mainnet-ca.pem

# Install to system certificate store
sudo cp secureapi-mainnet-ca.pem /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
```

{% endtab %}

{% tab title="Windows" %}

```powershell
# Download the certificate
Invoke-WebRequest -Uri "https://api.akashicpay.com/secureapi-mainnet-ca.pem" -OutFile "secureapi-mainnet-ca.crt"

# Install to certificate store (run as Administrator)
Import-Certificate -FilePath "secureapi-mainnet-ca.crt" -CertStoreLocation Cert:\LocalMachine\Root
```

{% endtab %}
{% endtabs %}

**瀏覽器安裝**

{% tabs %}
{% tab title="Chrome 瀏覽器/Edge 瀏覽器" %}

1. 下載 CA 憑證
2. 開啟 Chrome 設定 → 隱私與安全 → 安全 → 管理憑證 → 本地憑證 → 自訂 (由您安裝)
3. 將憑證匯入 「受信任的憑證」 中
   {% endtab %}

{% tab title="Firefox 瀏覽器" %}

1. 下載 CA 憑證
2. 開啟 Firefox 設定 → 隱私與安全 → 檢視憑證
3. 將證書匯入 「授權」 標籤
   {% endtab %}
   {% endtabs %}

**在程式碼中使用憑證**

下載 CA 憑證後，您可以在程式碼中指定它。

{% tabs %}
{% tab title="cURL" %}

```bash
curl --cacert secureapi-mainnet-ca.pem \
  -H "x-ap-k: your-private-key" \
  -H "x-ap-a: your-l2-address" \
  https://<SecureAPI>/getBalance
```

{% endtab %}
{% endtabs %}

## <mark style="color:blue;">最佳實務</mark>

1. 速率限制： 遵守 API 速率限制（詳情請聯絡 [AkashicPay 客服中心](https://t.me/akashicpay_support_bot)）。對重試實施指數遞減，以避免伺服器不堪負荷。
2. 錯誤處理： 始終優雅地處理錯誤。檢查特定的錯誤代碼（例如：`FUNDS_EXCEEDED`、`INVALID_PARAMETER`），並提供使用者友善的訊息或後備動作。
3. 安全性： 安全地儲存私密金鑰 (例如：儲存於環境變數或密碼管理器中)。定期使用驗證與認證端點來驗證 API，以確保服務與開放原始碼相符。
4. 參數驗證： 在提出請求前，先根據定義的 `NetworkSymbol`、`TokenSymbol` 和 `Currency` 值驗證所有輸入 (例如：`network`、`token`、`amount`)，以避免 `INVALID_PARAMETER` 錯誤。
5. 分頁： 對 `GET /getTransfers` 等端點使用 `page` 與 `limit` 參數，以有效管理大型資料集。
6. 測試： 在部署到 Mainnet 之前，先在 Testnet 環境 (例如 `Ethereum_Sepolia`、`Tron_Shasta`、`Binance_Smart_Chain_Testnet`、`Solana_Devnet`)上進行測試，以確保正確。

## <mark style="color:blue;">注意事項</mark>

1. 所有 API 請求必須包含適當的驗證標頭 (`x-ap-k` 和 `x-ap-a`)。
2. 若要進行生產存取，請聯絡 [AkashicPay 客服中心](https://t.me/akashicpay_support_bot)以將您的 IP 地址列入白名單。
3. 所有金額應以字串形式傳遞，以避免精確度問題。
4. 確保 `network`、 `requestedCurrency`、`token`、`layer` 和 `status` 等參數分別符合定義的 `NetworkSymbol`、`Currency`、`TokenSymbol`、`TransactionLayer` 和 `TransactionStatus` 值。
5. 定期使用驗證和認證端點（Verify and Attestation endpoints）驗證 API 的安全性，以確保服務如預期般執行，並與開放原始碼相符。
   1. 在本地運行我們開放源碼倉庫中最新的 AkashicPay SecureAPI 代碼，然後導航到 `/verify/your-secret`，確認 `calculated` 的哈希值與我們服務器上顯示的 `/verify/your-secret` 相匹配。
