SteemNFT

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.