RPC Wallet commands
wallet/addTransaction
Takes in a posted transaction, adds it to the wallet and mempool, and optionally broadcasts it to the network. Returns the names of the wallet accounts involved in the transaction.
Request
{
transaction: string
broadcast?: boolean
}
Response
{
accounts: string[]
}
wallet/burnAsset
Creates a transaction burning a custom asset from a given account, posts the transaction, and submits it to the wallet, mempool, and network.
Request
{
account: string
assetId: string
fee: string
value: string
expiration?: number
expirationDelta?: number
confirmations?: number
}
Response
{
assetId: string
hash: string
name: string
value: string
}
wallet/create
Creates a new account in the wallet with the given name, optionally setting it as the default account.
Request
{
name: string
default?: boolean
}
Response
{
name: string
publicAddress: string
isDefaultAccount: boolean
}
wallet/createTransaction
Creates and returns a new transaction with the given parameters, but doesn't post it (as such, it's also not added to the wallet, mempool, or broadcast to the network). This allows for the transaction to be posted using spending keys stored on a different node.
Request
{
account: string
outputs: {
publicAddress: string
amount: string
memo: string
assetId?: string
}[]
mints?: {
assetId?: string
name?: string
metadata?: string
value: string
}[]
burns?: {
assetId: string
value: string
}[]
fee?: string | null
feeRate?: string | null
expiration?: number
expirationDelta?: number
confirmations?: number
}
Response
{
transaction: string
}
wallet/exportAccount
Exports the keys to the default account, or the named account if specified. If viewOnly is true, the spending key will be null, but the spending key may also be null if exporting a view-only account.
Request
{
account?: string;
viewOnly?: boolean
}
Response
{
account: {
name: string
spendingKey: string | null
viewKey: string
incomingViewKey: string
outgoingViewKey: string
publicAddress: string
version: number
}
}
wallet/getAccounts
Returns accounts in the wallet.
Request
{
default?: boolean
displayName?: boolean
} | undefined
Response
{
accounts: string[]
}
wallet/getAssets
Returns assets in the wallet.
Request
{
account?: string
confirmations?: number
}
Response
{
createdTransactionHash: string
id: string
metadata: string
name: string
owner: string
status: string
supply: string | null
}
wallet/getBalance
Returns the wallet balance for a given asset, or $IRON if none is specified.
Request
{
account?: string
assetId?: string
confirmations?: number
}
Response
{
account: string
assetId: string
confirmed: string
unconfirmed: string
unconfirmedCount: number
pending: string
pendingCount: number
available: string
confirmations: number
blockHash: string | null
sequence: number | null
}
wallet/getBalances
Returns the wallet's $IRON balance, as well as balances of custom assets.
Request
{
account?: string
confirmations?: number
}
Response
{
account: string
balances: {
assetId: string
assetName: string
assetOwner: string
confirmed: string
unconfirmed: string
unconfirmedCount: number
pending: string
pendingCount: number
available: string
blockHash: string | null
sequence: number | null
}[]
}
wallet/getDefaultAccount
Returns the wallet's default account.
Request
{ } | undefined
Response
{
account: {
name: string
} | null
}
wallet/getAccountNotesStream
Returns a stream of notes in an account.
Request
{
account?: string
}
Response
{
value: string
assetId: string
assetName: string
memo: string
sender: string
transactionHash: string
spent: boolean | undefined
}
wallet/getPublicKey
Returns an account's public key.
Request
{
account?: string
}
Response
{
account: string
publicKey: string
}
wallet/getAccountsStatus
Returns the status of an account or of all accounts if no account is provided.
Request
{
account?: string
}
Response
{
accounts: Array<{
name: string
id: string
headHash: string
headInChain: boolean
sequence: string | number
}>
}
wallet/getAccountTransaction
Returns a transaction for an account.
Request
{
hash: string
account?: string
confirmations?: number
}
Response
{
account: string
transaction: {
hash: string
status: string
type: string
fee: string
blockHash?: string
blockSequence?: number
notesCount: number
spendsCount: number
mintsCount: number
burnsCount: number
timestamp: number
notes: RpcAccountDecryptedNote[]
assetBalanceDeltas: Array<{ assetId: string; assetName: string; delta: string }>
} | null
}
wallet/getAccountTransactions
Returns transactions for an account. The default account is used if no account is provided.
Request
{
account?: string
hash?: string
limit?: number
offset?: number
confirmations?: number
}
Response
{
status: string
type: string
hash: string
fee: string
notesCount: number
spendsCount: number
mintsCount: number
burnsCount: number
expiration: number
timestamp: number
assetBalanceDeltas: Array<{ assetId: string; assetName: string; delta: string }>
}
wallet/importAccount
Imports an account to the wallet.
Request
{
account: {
version: number
name: string
spendingKey: string | undefined
viewKey: string
incomingViewKey: string
outgoingViewKey: string
publicAddress: string
createdAt: Date | undefined
}
rescan?: boolean
}
Response
{
name: string
isDefaultAccount: boolean
}
wallet/mintAsset
Creates a transaction minting a custom asset from a given account, posts the transaction, and submits it to the wallet, mempool, and network.
Request
{
account: string
fee: string
value: string
assetId?: string
expiration?: number
expirationDelta?: number
confirmations?: number
metadata?: string
name?: string
}
Response
{
assetId: string
hash: string
name: string
value: string
}
wallet/postTransaction
Posts a transaction, submitting it to the wallet, mempool, and network if possible.
Request
{
account?: string
transaction: string
broadcast?: boolean
}
Response
{
transaction: string
}
wallet/removeAccount
Removes an account from the wallet.
Request
{
account: string
confirm?: boolean
wait?: boolean
}
Response
{
needsConfirm?: boolean
}
wallet/rescanAccount
Rescans an account in the wallet, updating the balance and available notes.
Request
{
follow?: boolean
from?: number
}
Response
{
sequence: number
startedAt: number
endSequence: number
}
wallet/sendTransaction
Creates a transaction, posts the transaction, and submits it to the wallet, mempool, and network.
Request
{
account: string
outputs: {
publicAddress: string
amount: string
memo: string
assetId?: string
}[]
fee: string
expiration?: number | null
expirationDelta?: number | null
confirmations?: number | null
}
Response
{
account: string
hash: string
transaction: string
}
wallet/useAccount
Sets an account as the wallet's default account.
Request
{
account: string
}
Response
undefined