API REFERENCE v1
Account
Create accounts and addresses, read balances and receipt/payment history, send owned Litecoin transfers and configure callbacks.
On this page
#Create Account
AvailableCreate an anonymous Coinkun account and receive its Transfer Key once. No authentication is required.
/accountsRequest
- HTTP Method
POST - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts
No request parameters.
curl --request POST "https://coinkun.com/api/v1/accounts" \
--header 'Content-Type: application/json' \
--data '{}'{}{
"account": "apr-00000000000000000000000000000001",
"created": "2026-09-05T12:00:00.000000Z",
"transfer-key": "YOUR_TRANSFER_KEY"
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account Info
AvailableRead public Account metadata without a Transfer Key. Only existing Litecoin currency data is returned; reading never creates keys or contacts a node.
/accounts/{account}Request
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier in the URL. | Yes |
currency | string | The only supported value is ltc (Litecoin); other values are rejected. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}" \
--get \
--data-urlencode "currency=ltc"{
"account": "apr-00000000000000000000000000000001",
"info": [
{
"currency": "ltc",
"created": "2026-09-05T12:00:00.000000Z",
"units": "satoshi"
}
]
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account Balance
AvailableRead this Account's verified Litecoin balance without a Transfer Key. Amounts use integer atomic units, not decimal LTC values.
/accounts/{account}/balanceRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/balance
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier. | Yes |
currency | string | Only ltc (Litecoin). Optional for the whole Account, required with addresses. | No |
addresses | string | 1 to 100 comma-separated owned receiving addresses. Duplicates count once; currency=ltc is required. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/balance" \
--get \
--data-urlencode "currency=ltc"{
"account": "apr-00000000000000000000000000000001",
"balance": [
{
"currency": "ltc",
"available": 0,
"total": 0
}
]
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Generate Address
AvailableIssue a new receiving address for the Account in the URL. API and dashboard share the same public keyset, receive counter and saved addresses. No Transfer Key, private source or Core wallet is needed for issuance.
/accounts/{account}/addressesRequest
- HTTP Method
POST - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier in the URL. | Yes |
currency | string | Required JSON field; only ltc (Litecoin) is supported. | Yes |
addr-type | string | Optional JSON field; defaults to p2wpkh. Other values, including null, are rejected. | No |
callback | object or null | Optional URL/method/data override. Omitted or null inherits the account setting; an empty object disables notifications for this address. | No |
curl --request POST "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses" \
--header 'Content-Type: application/json' \
--data '{
"currency": "ltc",
"addr-type": "p2wpkh"
}'{
"currency": "ltc",
"addr-type": "p2wpkh"
}{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"address": "YOUR_REGTEST_ADDRESS",
"created": "2026-09-05T12:00:00.000000Z",
"type": "p2wpkh"
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Info
AvailableRead the saved metadata and verified balance of one receiving address belonging to this Account. No Transfer Key or key derivation is needed; balance verification requires node evidence.
/accounts/{account}/addresses/{address}Request
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses/{address}
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Owning account identifier. | Yes |
address | string | Receiving address within that account. | Yes |
currency | string | Optional; only ltc (Litecoin) is supported. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses/${ADDRESS}" \
--get \
--data-urlencode "currency=ltc"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"address": "YOUR_REGTEST_ADDRESS",
"type": "p2wpkh",
"created": "2026-09-05T12:00:00.000000Z",
"balance": {
"available": 100000,
"total": 150000
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Balance
AvailableRead the verified integer balance of one receiving address belonging to the Account, without a Transfer Key.
/accounts/{account}/addresses/{address}/balanceRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses/{address}/balance
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Owning account identifier. | Yes |
address | string | Receiving address. | Yes |
currency | string | Optional; only ltc (Litecoin) is supported. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses/${ADDRESS}/balance" \
--get \
--data-urlencode "currency=ltc"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"address": "YOUR_REGTEST_ADDRESS",
"available": 0,
"total": 0
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account Addresses
AvailableRead saved Litecoin receiving addresses with a verified balance per entry, newest first, with pagination and optional prefix and empty-balance filters.
/accounts/{account}/addressesRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier. | Yes |
currency | string | Required query parameter; only ltc (Litecoin) is supported. | Yes |
limit | integer | Integer from 1 to 100; default 10. Invalid values are rejected, not clamped. | No |
offset | integer | Integer from 0 to 10000; default 0. Number of matching records to skip. | No |
q | string | Case-sensitive address:prefix (1–90 ASCII letters or digits) and/or empty:false. The latter excludes zero total balances, not zero available balances. Combine once each with a comma in either order; empty q means no filter. Wildcards, duplicate filters and other empty values are rejected. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses" \
--get \
--data-urlencode "currency=ltc" \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"addresses": [
{
"address": "YOUR_REGTEST_ADDRESS",
"type": "p2wpkh",
"created": "2026-09-05T12:00:00.000000Z",
"balance": {
"available": 100000,
"total": 150000
}
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Estimation
AvailableRead-only Litecoin transfer preview using verified owned funds. It does not reserve, sign or publish.
/accounts/{account}/transferRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/transfer
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Source account identifier. | Yes |
currency | string | Asset to estimate. | Yes |
destinations | string | One address:amount pair; amount is positive integer atomic units. Percentages and multiple destinations follow in step 6.7. | Yes |
addresses | string | Restrict the source to comma-separated account addresses. | No |
fee | string | Strategy normal, priority or custom. Custom requires fee-rate in integer atomic units per virtual byte. | No |
fee-rate | integer | Positive integer atomic units per virtual byte; only with fee=custom. | No |
subtract-fee-from-amount | boolean | Deduct the network fee proportionally from recipient amounts. Required for a 100% sweep. Net outputs must not become dust. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/transfer" \
--get \
--data-urlencode "currency=ltc" \
--data-urlencode "destinations=YOUR_DESTINATION_ADDRESS:100000"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"destinations": [
{
"address": "YOUR_DESTINATION_ADDRESS",
"amount": 100000
}
],
"amount": 100000,
"total": 100141,
"fee": {
"subtract-from-amount": false,
"processing": {
"amount": 0
},
"network": {
"strategy": "normal",
"amount": 141,
"rate": 1,
"source": "regtest_fallback"
}
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Transfer
AvailableAuthenticated durable Litecoin payment on the selected network. Only the Account's verified outputs fund its payment, fee and change. Mainnet requires COINKUN_LTC_MAINNET_SPENDING_ENABLED=true; default is disabled. A pause preserves signed holds and permits observation and callbacks through separately enabled workers. Offline mainnet tests are not live acceptance.
/accounts/{account}/transferRequest
- HTTP Method
POST - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/transfer - Authorization
transfer-keyin the JSON body. JWT remains planned. - Idempotency-Key
YOUR_UNIQUE_ORDER_KEY
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Source account identifier. | Yes |
currency | string | Asset to transfer. | Yes |
transfer-key | string | Active Transfer Key for this Account. JWT is not supported in this MVP. | Yes |
Idempotency-Key | header | Coinkun retry contract; 1..128 ASCII letters, digits, underscore, dot, colon or dash. Same key plus changed intent returns 409. | Yes |
fee-limit | integer | Coinkun safety extension; maximum approved network fee in atomic units. A larger fresh estimate is rejected without signing. | Yes |
destinations | array | 1..100 ordered distinct transparent recipients on the selected network. Integer atomic amounts (integer strings accepted) or percentages of verified available source funds before fees, up to eight decimal places. Fixed amounts are additional; percentage sum is at most 100%. Largest-remainder rounding is deterministic in recipient order. | Yes |
addresses | array | Optional subset of source receiving addresses. | No |
fee | string | Network fee strategy. | No |
fee-rate | integer | Required only for custom, in integer atomic units per virtual byte. | No |
subtract-fee-from-amount | boolean | Subtract the network fee proportionally, with exact integer largest-remainder rounding. Net outputs must remain non-dust. | No |
curl --request POST "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/transfer" \
--header 'Idempotency-Key: YOUR_UNIQUE_ORDER_KEY' \
--header 'Content-Type: application/json' \
--data '{
"currency": "ltc",
"transfer-key": "YOUR_TRANSFER_KEY",
"fee-limit": 1000,
"destinations": [
{
"address": "YOUR_DESTINATION_ADDRESS",
"amount": 100000
}
],
"fee": "normal",
"subtract-fee-from-amount": false
}'{
"currency": "ltc",
"transfer-key": "YOUR_TRANSFER_KEY",
"fee-limit": 1000,
"destinations": [
{
"address": "YOUR_DESTINATION_ADDRESS",
"amount": 100000
}
],
"fee": "normal",
"subtract-fee-from-amount": false
}{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"created": "2026-09-05T12:00:00.000000Z",
"type": "payment",
"id": "YOUR_PAYMENT_ID",
"status": "broadcast",
"last_error": null,
"txs": [
"YOUR_TRANSACTION_ID"
],
"destinations": [
{
"address": "YOUR_DESTINATION_ADDRESS",
"amount": 100000
}
],
"amount": 100000,
"total": 100141,
"fee": {
"subtract-from-amount": false,
"processing": {
"amount": 0
},
"network": {
"strategy": "normal",
"amount": 141,
"rate": 1,
"source": "regtest_fallback"
}
},
"change-address": "YOUR_CHANGE_ADDRESS"
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account History
AvailableRead Litecoin receipts and accepted payments for this Account, not a balance. One combined page and total; confirmation is checked against the scanner checkpoint and node.
/accounts/{account}/historyRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/history
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier. | Yes |
currency | string | The only supported value is ltc (Litecoin). | No |
q | string | Up to 1024 ASCII bytes. Comma-separated address, date-from, date-to and item-type (receipt or payment); each filter appears at most once. | No |
limit | integer | Integer from 1 to 100; default 10. | No |
offset | integer | Integer from 0 to 10000; default 0. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/history" \
--get \
--data-urlencode "currency=ltc" \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"account": "apr-00000000000000000000000000000001",
"items": [
{
"id": "YOUR_TRANSACTION_ID",
"type": "receipt",
"currency": "ltc",
"date": "2026-09-16T12:00:00.000000Z",
"txs": [
"YOUR_TRANSACTION_ID"
],
"amount": 150000,
"is_confirmed": true,
"observation_status": "recorded"
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
},
"as_of": {
"height": 120,
"block_hash": "YOUR_BLOCK_HASH",
"checked_at": "2026-09-16T12:00:01.000000Z"
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account History Item
AvailableRead one owned Litecoin receipt with receiving outputs, or an accepted payment with destinations and saved fees.
/accounts/{account}/history/{HistoryItemID}Request
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/history/{HistoryItemID}
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier. | Yes |
HistoryItemID | string | Receipt txid (64 lowercase hex characters) or payment ID (pay- followed by 32 lowercase hex characters). | Yes |
currency | string | The only supported value is ltc (Litecoin). | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/history/${HISTORY_ITEM_ID}" \
--get \
--data-urlencode "currency=ltc"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"created": "2026-09-16T12:00:00.000000Z",
"type": "receipt",
"id": "YOUR_TRANSACTION_ID",
"items": [
{
"txid": "YOUR_TRANSACTION_ID",
"vout": 0,
"address": "YOUR_REGTEST_ADDRESS",
"amount": 100000,
"block": {
"hash": "YOUR_BLOCK_HASH",
"height": 101,
"deleted": false
},
"is_confirmed": true
}
],
"amount": 100000,
"observation_status": "recorded",
"as_of": {
"height": 120,
"block_hash": "YOUR_CHECKPOINT_HASH",
"checked_at": "2026-09-16T12:00:01.000000Z"
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account Address History
AvailableSaved incoming and outgoing blockchain movements of one exact LTC receiving address.
/accounts/{account}/addresses/{address}/historyRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses/{address}/history
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Owning account identifier. | Yes |
address | string | Exact Account-owned receiving address; foreign, change and unknown addresses return 404. | Yes |
currency | string | Optional ltc only; uses the selected regtest/mainnet network. | No |
limit | integer | Canonical integer 1..100; default 10 transactions, not outputs. | No |
offset | integer | Canonical integer 0..10000; default 0. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses/${ADDRESS}/history" \
--get \
--data-urlencode "currency=ltc" \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"address": "YOUR_REGTEST_ADDRESS",
"txs": [
{
"txid": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"created": "2026-09-16T12:00:00.000000Z",
"amount": -150000,
"block": null,
"deleted": false,
"is_confirmed": false,
"observation_status": "pending"
}
],
"pagination": {
"total": 1,
"offset": 0,
"limit": 10
},
"as_of": {
"height": 120,
"block_hash": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
"checked_at": "2026-09-16T12:00:01.000000Z"
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Account Callback Info
AvailableRead the saved notification configuration for the LTC account. No RPC or delivery occurs.
/accounts/{account}/callbackRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/callback - Authorization
transfer-keyin the JSON body. JWT remains planned.
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Account identifier. | Yes |
currency | string | Must be ltc on the selected network. | Yes |
transfer-key | string | Transfer Key of this account. JWT is not implemented. | Yes |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/callback" \
--get \
--data-urlencode "currency=ltc"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"callback": null
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Callback Info
AvailableRead the effective receiving-address callback (own override or account default). Null inherits; an empty object disables notifications. Public metadata never exposes callback secrets.
/accounts/{account}/addresses/{address}/callbackRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses/{address}/callback - Authorization
transfer-keyin the JSON body. JWT remains planned.
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Owning account identifier. | Yes |
address | string | Receiving address. | Yes |
transfer-key | string | Transfer Key of this account. JWT is not implemented. | Yes |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses/${ADDRESS}/callback"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"address": "YOUR_REGTEST_ADDRESS",
"callback": null
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.
#Address Callback Log
AvailableRead real delivery attempts for an owned receiving address. This private journal never calls RPC, sends HTTP or creates an attempt.
/accounts/{account}/addresses/{address}/callback-logRequest
- HTTP Method
GET - Content Type
application/json - URL
https://coinkun.com/api/v1/accounts/{account}/addresses/{address}/callback-log - Authorization
transfer-keyin the JSON body. JWT remains planned.
| Parameter | Type | Description | Required |
|---|---|---|---|
account | string | Owning account identifier. | Yes |
address | string | Receiving address. | Yes |
transfer-key | string | Transfer Key of this account; JWT is deferred. | Yes |
limit | integer | Page size 1..100; default 10. | No |
offset | integer | Number of attempts to skip, 0..10000; default 0. | No |
curl --request GET "https://coinkun.com/api/v1/accounts/${ACCOUNT_ID}/addresses/${ADDRESS}/callback-log" \
--get \
--data-urlencode "limit=10" \
--data-urlencode "offset=0"{
"account": "apr-00000000000000000000000000000001",
"currency": "ltc",
"address": "YOUR_REGTEST_ADDRESS",
"log": [],
"pagination": {
"total": 0,
"offset": 0,
"limit": 10
}
}Illustrative example · Replace YOUR_* and ${VARIABLES} with your own values · Never paste real keys into shared documentation.