Skip to main content

API Reference

fulmine/v1/notification.proto (version not set)

Download OpenAPI specification:Download

NotificationService

GetVtxoNotifications streams notifications for subscribed addresses

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "error": {
    }
}

SubscribeForAddresses subscribes for notifications for given addresses

Request Body schema: application/json
required
addresses
Array of strings

Responses

Request samples

Content type
application/json
{
  • "addresses": [
    ]
}

Response samples

Content type
application/json
{ }

UnsubscribeForAddresses unsubscribes from notifications for given addresses

Request Body schema: application/json
required
addresses
Array of strings

Responses

Request samples

Content type
application/json
{
  • "addresses": [
    ]
}

Response samples

Content type
application/json
{ }

Service

GetAddress returns offchain address

Responses

Response samples

Content type
application/json
{
  • "address": "string",
  • "pubkey": "string"
}

GetBalance returns ark balance

Responses

Response samples

Content type
application/json
{
  • "amount": "string"
}

GetDelegatePublicKey retrieves the Fulmine's public key to be included in VTXO scripts.

Responses

Response samples

Content type
application/json
{
  • "publicKey": "string"
}

UnwatchAddress unsubscribes an address from vtxo rollover

Request Body schema: application/json
required
address
string (The address to stop watching)

Responses

Request samples

Content type
application/json
{
  • "address": "string"
}

Response samples

Content type
application/json
{ }

WatchAddressForRollover watches an address for rollover

Request Body schema: application/json
required
object (v1RolloverAddress)
address
string (The watched address)
object (v1Tapscripts)
destinationAddress
string (Where funds will be rolled over to)

Responses

Request samples

Content type
application/json
{
  • "rolloverAddress": {
    }
}

Response samples

Content type
application/json
{ }

ListWatchedAddresses lists all watched addresses

Responses

Response samples

Content type
application/json
{
  • "addresses": [
    ]
}

GetInfo returns info about the ark account

Responses

Response samples

Content type
application/json
{
  • "network": "NETWORK_UNSPECIFIED",
  • "addrPrefix": "string",
  • "serverUrl": "string",
  • "buildInfo": {
    },
  • "pubkey": "string"
}

Service_CreateInvoice

Request Body schema: application/json
required
amount
string <uint64>
memo
string
preimage
string

Responses

Request samples

Content type
application/json
{
  • "amount": "string",
  • "memo": "string",
  • "preimage": "string"
}

Response samples

Content type
application/json
{
  • "invoice": "string",
  • "preimageHash": "string"
}

Service_PayInvoice

Request Body schema: application/json
required
invoice
string

Responses

Request samples

Content type
application/json
{
  • "invoice": "string"
}

Response samples

Content type
application/json
{
  • "preimage": "string"
}

Service_IsInvoiceSettled

query Parameters
invoice
string

Responses

Response samples

Content type
application/json
{
  • "settled": true
}

Redeems an ark note by joining a round

Request Body schema: application/json
required
note
string

Responses

Request samples

Content type
application/json
{
  • "note": "string"
}

Response samples

Content type
application/json
{
  • "txid": "string"
}

GetOnboardAddress returns onchain address and invoice for requested amount

Request Body schema: application/json
required
amount
string <uint64>

Responses

Request samples

Content type
application/json
{
  • "amount": "string"
}

Response samples

Content type
application/json
{
  • "address": "string"
}

Returns round info for optional round_id (no round_id returns current round info)

path Parameters
roundId
required
string

Responses

Response samples

Content type
application/json
{
  • "round": {
    }
}

Send asks to send amount to ark address by joining a round

Request Body schema: application/json
required
address
string
amount
string <uint64>

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "amount": "string"
}

Response samples

Content type
application/json
{
  • "txid": "string"
}

SendOnChain asks to send requested amount to requested onchain address

Request Body schema: application/json
required
address
string
amount
string <uint64>

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "amount": "string"
}

Response samples

Content type
application/json
{
  • "txid": "string"
}

Settle vtxos and boarding utxos

Responses

Response samples

Content type
application/json
{
  • "txid": "string"
}

Service_SignTransaction

Request Body schema: application/json
required
tx
string

Responses

Request samples

Content type
application/json
{
  • "tx": "string"
}

Response samples

Content type
application/json
{
  • "signedTx": "string"
}

GetTransactionHistory returns virtual transactions history

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

ListVHTLC = list all vhtlc OR filter by preimage_hash

query Parameters
preimageHashFilter
string

Responses

Response samples

Content type
application/json
{
  • "vhtlcs": [
    ]
}

CreateVHTLCAddress computes a VHTLC address

Request Body schema: application/json
required
preimageHash
string
senderPubkey
string
receiverPubkey
string
refundLocktime
integer <int64> (Optional absolute locktime for refund condition (in blocks))
object (RelativeLocktime represents a relative timelock)
object (RelativeLocktime represents a relative timelock)
object (RelativeLocktime represents a relative timelock)

Responses

Request samples

Content type
application/json
{
  • "preimageHash": "string",
  • "senderPubkey": "string",
  • "receiverPubkey": "string",
  • "refundLocktime": 0,
  • "unilateralClaimDelay": {
    },
  • "unilateralRefundDelay": {
    },
  • "unilateralRefundWithoutReceiverDelay": {
    }
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "claimPubkey": "string",
  • "refundPubkey": "string",
  • "serverPubkey": "string",
  • "swapTree": {
    },
  • "refundLocktime": "string",
  • "unilateralClaimDelay": "string",
  • "unilateralRefundDelay": "string",
  • "unilateralRefundWithoutReceiverDelay": "string"
}

ClaimVHTLC = self send vHTLC -> VTXO

Request Body schema: application/json
required
preimage
string

Responses

Request samples

Content type
application/json
{
  • "preimage": "string"
}

Response samples

Content type
application/json
{
  • "redeemTxid": "string"
}

Service_RefundVHTLCWithoutReceiver

Request Body schema: application/json
required
preimageHash
string

Responses

Request samples

Content type
application/json
{
  • "preimageHash": "string"
}

Response samples

Content type
application/json
{
  • "redeemTxid": "string"
}

WalletService

ChangePassword changes the password used to encrypt/decrypt the HD seeds. It requires the wallet to be locked.

Request Body schema: application/json
required
currentPassword
string

The current password used to encrypt the walley.

newPassword
string

The new password replacing the current one.

Responses

Request samples

Content type
application/json
{
  • "currentPassword": "string",
  • "newPassword": "string"
}

Response samples

Content type
application/json
{ }

Auth verifies whether the given password is valid without unlocking the wallet

Request Body schema: application/json
required
password
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "verified": true
}

CreateWallet creates an HD Wallet based on signing seeds, encrypts them with the password and persists the encrypted seeds.

Request Body schema: application/json
required
privateKey
string

The private key from where signing key pairs are derived. In 64 chars hexadecimal format.

password
string

The password to decrypt HD wallet. After creation, the wallet is locked and the same password is required to unlock it.

serverUrl
string

The url of the Server to connect to.

Responses

Request samples

Content type
application/json
{
  • "privateKey": "string",
  • "password": "string",
  • "serverUrl": "string"
}

Response samples

Content type
application/json
{ }

GenSeed returns signing seed that should be used to create a new HD Wallet.

Responses

Response samples

Content type
application/json
{
  • "hex": "string",
  • "nsec": "string"
}

Lock locks the HD wallet.

Request Body schema: application/json
required
password
string

The password to lock the wallet.

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{ }

RestoreWallet restores an HD Wallet based on signing seeds, encrypts them with the password and persists the encrypted seeds.

Request Body schema: application/json
required
mnemonic
string

The mnemonic from where deriving signing key pairs.

password
string

The password to decrypt HD wallet. After restoration, the wallet is locked and the same password is required to unlock it.

serverUrl
string

The url of the Server to connect to.

Responses

Request samples

Content type
application/json
{
  • "mnemonic": "string",
  • "password": "string",
  • "serverUrl": "string"
}

Response samples

Content type
application/json
{
  • "result": { },
  • "error": {
    }
}

Status returns info about the status of the wallet.

Responses

Response samples

Content type
application/json
{
  • "initialized": true,
  • "synced": true,
  • "unlocked": true
}

Unlock tries to unlock the HD Wallet using the given password.

Request Body schema: application/json
required
password
string

The password to unlock the wallet.

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{ }