Transaction Builder
Compose and inspect every custom_json payload the marketplace can broadcast, then optionally sign it with Steem Keychain.
Payload envelope contract
The indexer accepts two envelopes inside a Steem custom_json operation — the flat shorthand below, and the standard steemsmartcontracts form { contractName: "nft", contractAction, contractPayload }. Every params object is .strict() — an unknown key is rejected with INVALID_PARAMS.
custom_json id
sce-mainnet1
authority
posting · active
required key
active
{
"action": "<create | updateUrl | updateMetadata | updateName | updateOrgName | updateProductName | addAuthorizedIssuingAccounts | removeAuthorizedIssuingAccounts | addAuthorizedIssuingContracts | removeAuthorizedIssuingContracts | transferOwnership | addProperty | setPropertyPermissions | setProperties | setGroupBy | updatePropertyDefinition | issue | issueMultiple | transfer | burn | placeOrder | fillOrder | cancelOrder>",
"params": { ... }
}createupdateUrlupdateMetadataupdateNameupdateOrgNameupdateProductNameaddAuthorizedIssuingAccountsremoveAuthorizedIssuingAccountsaddAuthorizedIssuingContractsremoveAuthorizedIssuingContractstransferOwnershipaddPropertysetPropertyPermissionssetPropertiessetGroupByupdatePropertyDefinitionissueissueMultipletransferburnplaceOrderfillOrdercancelOrder
Required key for transfer: active — to, nfts: [{ symbol, ids }] (max 50).
Parameters
Validation runs live — invalid fields disable broadcasting.
Payload preview
Exactly what Keychain will broadcast.
custom_json
{
"action": "transfer",
"params": {
"to": "",
"nfts": []
}
}Operation tuple
{
"id": "sce-mainnet1",
"json": "{\"action\":\"transfer\",\"params\":{\"to\":\"\",\"nfts\":[]}}",
"keyType": "Active",
"authLevel": "active"
}id: sce-mainnet1key: Activeauth: active50 bytes
Connect a wallet in the header to enable broadcasting. Payload preview works without it.