Skip to content
Fast

Data associated to one account. Contains optional fields for returning account-related info from various types of queries. Reflects the view of a single validator, which may be lagging behind the rest of the network.

Fields
senderPublicKeyBytes: The address of the account.
balanceBalance: Balance in native tokens of the account.
next_nonceNonce: The next transaction from the account is required to have this nonce.
pending_confirmationValidatedTransaction (optional): The transaction that has been validated by the current validator, but not yet confirmed (if requested).
requested_stateArray<( StateKey,State)>: The keys and values of the account's state as requested.
requested_certificatesOption<Array<TransactionCertificate>> (optional): A single transaction certificate (if requested).
requested_validated_transactionValidatedTransaction (optional): A single validated transaction (if requested).
token_balanceArray<(Array<uint8; length=32>,Balance)>: Token balances of tokens held by this account (may not be all tokens held).

JSON Schema:

Download AccountInfoResponse (1).json


Variants
Addarray
Removearray

JSON Schema:

Download AddressChange (2).json


256-bit unsigned integer encoded as a hex string.

string

JSON Schema:

Download Amount.json


257-bit signed integer with the magnitude encoded in hex preceded by - sign if applicable.

string

JSON Schema:

Download Balance.json


A claim is a concept on Fast that drives state changes on the Fast network. It is akin to
the “calldata” of a transaction on Ethereum.

There are many types of claims, denoting the actions that can be packed into a transaction, so ClaimType comes with several variants.

Variants
TokenTransferTokenTransfer: Transfer or burn tokens (that is, transfer tokens to the burn address)
TokenCreationTokenCreation: Create custom token
TokenManagementTokenManagement: Modify custom token
ExternalClaimExternalClaim: Arbitrary byte data
MintMint: Mint funds in a custom token
BurnBurn: burns the amount of token specified
BatchOperationBundle: Perform several operations

JSON Schema:

Download ClaimType.json


Fields
verifier_committeeArray<PublicKeyBytes>: Set of verifiers (regular Fast addresses) that can sign for this ExternalClaim.
verifier_quorumQuorum: Minimum number of verifiers in verifier_committee for which Fast validators will sign this transaction.
claim_dataClaimData: Arbitrary data that the verifiers are signing.

A byte sequence that names an entity on or off the Fast network, depending on the name of type which stores this value.

It is typically encoded as an Ed25519 public key, but may have other formats, including but not limited to, a 32-byte string composed of all 0x00 bytes (burn address). Note that any funds sent to the burn address will be permanently lost!

Array<uint8; length=32>

JSON Schema:

Download FastSetAddress.json


Create more funds of a token. The sender of the Transaction must be a current mint of the token.

Fields
token_idArray<uint8; length=32>: The hash of the TokenCreation transaction that created the token. This is calculated using the keccak256 hash over the data encoded in the same way as for signing.
amountAmount: Amount to mint.

JSON Schema:

Download Mint.json


Create more funds of a token. The sender of the Transaction must be a current mint of the token.

Fields
token_idArray<uint8; length=32>: The hash of the TokenCreation transaction that created the token. This is calculated using the keccak256 hash over the data encoded in the same way as for signing.
recipientPublicKeyBytes: Recipient of the new funds.
amountAmount: Amount to mint.

JSON Schema:

Download MintOperation.json

Burn an amount of some custom token.

Fields
token_id TokenId: The token to burn
amount Amount: The amount to burn

JSON Schema:

Download Burn.json

Burn an amount of some custom token.

Fields
token_id TokenId: The token to burn
amount Amount: The amount to burn

JSON Schema:

Download BurnOperation.json


Fields
config​MultiSigConfig​
signaturesArray<(PublicKeyBytes, Signature)>

JSON Schema:

Download MultiSig (1).json


Determines the address of a multisig account.

Fields
authorized_signersArray<PublicKeyBytes>: The accounts which may sign for a multisig transaction to be accepted.
quorum​Quorum: The minimum number of accounts that must sign.
nonce​Nonce: Arbitrary data. Useful for creating multiple distinct multisig accounts with the same committee/quorum.

JSON Schema:

Download MultiSigConfig (1).json


uint64

JSON Schema:

Download Nonce.json


Fields
startNonce
limituint

JSON Schema:

Download Nonce.json


One of various types of actions that be put in a multi-operation transaction. Payload structs are different from the top-level ClaimType where we need to support multiple operations with different receivers.

Variants
TokenTransferTokenTransferOperation: Transfer or burn tokens, that is transfer tokens to the burn address.
TokenCreationTokenCreation: Create custom token
TokenManagementTokenManagement: Modify custom token
ExternalClaimExternalClaim: Arbitrary byte data
MintMintOperation: Mint funds in a custom token
BurnBurn: burns the amount of token specified

JSON Schema:

Download Operation.json


Array<Operation>

JSON Schema:

Download OperationBundle.json


Variants
SuccessTransactionCertificate
IncompleteMultiSigarray

JSON Schema:

Download ProxySubmitTransactionResult.json


A byte sequence that names an entity on or off the Fast network, depending on the name of type which stores this value.

It is typically encoded as an Ed25519 public key, but may have other formats, including but not limited to, a 32-byte string composed of all 0x00 bytes (burn address). Note that any funds sent to the burn address will be permanently lost!

Array<uint8; length=32>

JSON Schema:

Download PublicKeyBytes.json


uint64

JSON Schema:

Download Quorum (1).json


An Ed25519 signature.

Array<uint8; length=64>

JSON Schema:

Download Signature.json


Variants
SignatureSignature
MultiSigMultiSig

JSON Schema:

Download SignatureOrMultiSig.json


Array<uint8; length=32>

JSON Schema:

Download State.json


Array<uint8; length=32>

JSON Schema:

Download StateKey (1).json


Create a new token. The token ID is derived from the Transaction , thus it also depends on the creator and the Nonce.

Fields
token_namestring: Human-readable name
decimalsuint8: Power of 10 that should be considered a full unit of this token. An Amount is still always in least units.
initial_amountAmount: Initial balance, which will be held by the creator of the token.
mintsArray<PublicKeyBytes>: Addresses which will be able to create more of this token.
user_dataUserData: Arbitrary userdata attached to this transaction

JSON Schema:

Download TokenCreation.json


A claim on some arbitrary data. A set of verifiers (external to the Fast network) verify the claim and attach their signatures to it. Then, Fast validators validates these signatures upon receiving such claim.

Field Description
claim ExternalClaimBody
signatures Array<VerifierSig>

JSON Schema:

Download ExternalClaim (2).json


Fields
verifier_committee Array<FastSetAddress>
verifier_quorum Quorum
claim_data ClaimData

JSON Schema:

Download ExternalClaimBody (1).json

Array<uint8>

JSON Schema:

Download ClaimData (1).json


Fields
verifier_addr PublicKeyBytes: the public key (address) of the verifier
sig Signature: ED25519 signature over the entire Transaction struct without any verifier signatures

JSON Schema:

Download VerifierSig (1).json


Array<uint8; length=32>

JSON Schema:

Download TokenId.json


Fields
requested_token_metadataArray<(Array<uint8; length=32>,TokenMetadata)>

JSON Schema:

Download TokenInfoResponse.json


Manage an existing token.

Fields
token_idArray<uint8; length=32>: The id of the token to be managed
update_idNonce: The update id for this token (used for sequencing). Each update id must be one greater than the last.
new_adminPublicKeyBytes (optional): The new admin address; preserves existing admin if None.
mintsArray<(AddressChange,PublicKeyBytes)>: The minter addresses to be added/removed.
user_dataUserData: Arbitrary userdata attached to this transaction.

JSON Schema:

Download TokenManagement.json


Encodes metadata about a custom token.

Fields
update_idNonce: The number of management operations applied to some token.
adminPublicKeyBytes: The current token admin.
token_namestring: The name of the token.
decimalsuint8: The number of decimals for this token.
total_supplyAmount: The total supply for this token.
mintsArray<PublicKeyBytes>: The authorized minting addresses for this token.

JSON Schema:

Download TokenMetadata.json


Transfer tokens to another address.

Fields
token_idArray<uint8; length=32>: Token ID to transfer.
amountAmount: Amount to transfer.
user_dataUserData: Extra data field to associate with this transfer.

JSON Schema:

Download TokenTransfer.json


Transfer tokens to another address. This is a variant of TokenTransfer that adds a recipient field.

Fields
token_idArray<uint8; length=32>: Token ID to transfer.
recipientPublicKeyBytes: Recipient.
amountAmount: Amount to transfer.
user_dataUserData: Extra data field to associate with this transfer.

JSON Schema:

Download TokenTransferOperation.json


Action that can be submitted and confirmed on the network.

Fields
senderPublicKeyBytes: Address of sender, and intended signer of this transaction.
recipientAddress: Address of the recipient or the burn address.
nonceNonce: A sequence number. Transactions sent by the same account are ordered by nonce.
timestamp_nanosuint128: Nanos since the Unix epoch.
claimClaimType: Type-dependent data.
archivalboolean: Specifies whether this transaction should be archived. When an archived transaction is confirmed on a validator, subsequent is_settled requests to that validator must succeed.

JSON Schema:

Download Transaction.json


A Transaction along with a quorum of validator signatures.

Fields
envelopeTransactionEnvelope
signaturesArray<(PublicKeyBytes,Signature)>

JSON Schema:

Download TransactionCertificate.json


A Transaction along with its sender’s signature.

Fields
transactionTransaction
signatureSignatureOrMultiSig

JSON Schema:

Download TransactionEnvelope.json


Option<Array<uint8; length=32>>

JSON Schema:

Download UserData.json


A Transaction along with the signature from one validator.

Fields
valueTransactionEnvelope
validatorPublicKeyBytes
signatureSignature

JSON Schema:

Download ValidatedTransaction.json

A byte sequence that names an entity on or off the Fast network, depending on the name of type which stores this value.