Skip to main content

Create Network Transaction from Signatures

Take unsigned transaction and signature, combine both and return signed transaction. The examples below are illustrative only. You'll need to use your wallet to generate actual values to use them in the request payload.

Request Body

REQUIRED

network_identifier

object

REQUIRED

The network_identifier specifies which network a particular object is associated with.

blockchain

string

REQUIRED

Blockchain name

network

string

REQUIRED

If a blockchain has a specific chain-id or network identifier, it should go in this field. It is up to the client to determine which network-specific identifier is mainnet or testnet.

sub_network_identifier

object

In blockchains with sharded state, the SubNetworkIdentifier is required to query some object on a specific shard. This identifier is optional for all non-sharded blockchains.

network

string

REQUIRED

Network name

metadata

object

Meta data from subnetwork identifier

producer

string

REQUIRED

producer

unsigned_transaction

string

REQUIRED

signatures

object[]

REQUIRED

signing_payload

object

REQUIRED

SigningPayload is signed by the client with the keypair associated with an address using the specified SignatureType. SignatureType can be optionally populated if there is a restriction on the signature scheme that can be used to sign the payload.

address

string

[DEPRECATED by account_identifier in v1.4.4] The network-specific address of the account that should sign the payload.

account_identifier

object

The account_identifier uniquely identifies an account within a network. All fields in the account_identifier are utilized to determine this uniqueness (including the metadata field, if populated).

address

string

REQUIRED

The address may be a cryptographic public key (or some encoding of it) or a provided username.

sub_account

object

An account may have state specific to a contract address (ERC-20 token) and/or a stake (delegated balance). The sub_account_identifier should specify which state (if applicable) an account instantiation refers to.

address

string

REQUIRED

The address may be a cryptographic public key (or some encoding of it) or a provided username.

metadata

object

If the SubAccount address is not sufficient to uniquely specify a SubAccount, any other identifying information can be stored here. It is important to note that two SubAccounts with identical addresses but differing metadata will not be considered equal by clients.

metadata

object

Blockchains that utilize a username model (where the address is not a derivative of a cryptographic public key) should specify the public key(s) owned by the address in metadata.

hex_bytes

string

REQUIRED

signature_type

string

Possible values: [ecdsa, ecdsa_recovery, ed25519, schnorr_1, schnorr_poseidon]

SignatureType is the type of a cryptographic signature.

public_key

object

REQUIRED

PublicKey contains a public key byte array for a particular CurveType encoded in hex. Note that there is no PrivateKey struct as this is NEVER the concern of an implementation.

hex_bytes

string

REQUIRED

Hex-encoded public key bytes in the format specified by the CurveType.

curve_type

string

REQUIRED

Possible values: [secp256k1, edwards25519]

CurveType is the type of cryptographic curve associated with a PublicKey.

signature_type

SignatureType

REQUIRED

Possible values: [ecdsa, ecdsa_recovery, ed25519, schnorr_1, schnorr_poseidon]

SignatureType is the type of a cryptographic signature.

hex_bytes

string

REQUIRED

Responses

200

Success

Schema

OPTIONAL

signed_transaction

string

Signed transaction bytes in hex

400

Error

Schema

OPTIONAL

code

integer

Code is a network-specific error code. If desired, this code can be equivalent to an HTTP status code.

message

string

Message is a network-specific error message. The message MUST NOT change for a given code. In particular, this means that any contextual information should be included in the details field.

retriable

boolean

An error is retriable if the same request may succeed if submitted again.

details

object

OPTIONAL

Often times it is useful to return context specific to the request that caused the error (i.e. a sample of the stack trace or impacted account) in addition to the standard error message.

address

string

OPTIONAL

error

string

OPTIONAL