openapi: 3.2.0 info: title: Shapeshift Tx API version: 10.0.0 contact: {} license: name: MIT description: 'Operations tagged Tx across 3 of this provider''s published API definitions: shapeshift-bitcoin-openapi.json, shapeshift-ethereum-openapi.json, shapeshift-solana-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://api.bitcoin.shapeshift.com description: bitcoin unchained API - url: https://api.ethereum.shapeshift.com description: ethereum unchained API - url: https://api.solana.shapeshift.com description: solana unchained API tags: - name: Tx paths: /api/v1/tx/{txid}: get: operationId: GetTransaction responses: '200': description: transaction payload content: application/json: schema: $ref: '#/components/schemas/Tx' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Get transaction details tags: - Tx security: [] parameters: - description: transaction hash in: path name: txid required: true schema: type: string summary: Get transaction x-summary-source: derived servers: - url: https://api.bitcoin.shapeshift.com description: bitcoin unchained API /api/v1/tx/{txid}/raw: get: operationId: GetRawTransaction responses: '200': description: transaction payload content: application/json: schema: $ref: '#/components/schemas/RawTx' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/ValidationError' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerError' description: Get raw transaction details directly from the node tags: - Tx security: [] parameters: - description: transaction hash in: path name: txid required: true schema: type: string summary: Get raw transaction x-summary-source: derived servers: - url: https://api.bitcoin.shapeshift.com description: bitcoin unchained API components: schemas: ValidationError: description: Contains info about a 422 Validation Error response properties: message: type: string enum: - Validation failed details: properties: {} additionalProperties: {} type: object required: - message - details type: object additionalProperties: false Vout: description: Contains info about a transaction output properties: value: type: string n: type: number format: double opReturn: type: string scriptPubKey: properties: hex: type: string type: object addresses: items: type: string type: array required: - value - n - scriptPubKey type: object additionalProperties: false InternalServerError: description: Contains info about a 500 Internal Server Error response properties: message: type: string required: - message type: object additionalProperties: false Vin: description: Contains info about a transaction input properties: txid: type: string vout: type: string sequence: type: number format: double coinbase: type: string scriptSig: properties: hex: type: string type: object addresses: items: type: string type: array value: type: string type: object additionalProperties: false Tx: description: Contains info about a transaction properties: txid: type: string blockHash: type: string blockHeight: type: number format: double timestamp: type: number format: double vin: items: $ref: '#/components/schemas/Vin' type: array vout: items: $ref: '#/components/schemas/Vout' type: array confirmations: type: number format: double value: type: string fee: type: string hex: type: string required: - txid - blockHeight - timestamp - vin - vout - confirmations - value - fee - hex type: object additionalProperties: false RawTx: description: Contains info about a transaction as returned from the node properties: txid: type: string hash: type: string version: type: number format: double size: type: number format: double vsize: type: number format: double weight: type: number format: double locktime: type: number format: double vin: items: properties: txinwitness: type: string scriptSig: properties: hex: type: string asm: type: string required: - hex - asm type: object coinbase: type: string sequence: type: number format: double vout: type: number format: double txid: type: string type: object type: array vout: items: properties: scriptPubKey: properties: addresses: items: type: string type: array type: type: string reqSigs: type: number format: double hex: type: string asm: type: string required: - addresses - type - reqSigs - hex - asm type: object n: type: number format: double value: anyOf: - type: string - type: number format: double type: object type: array hex: type: string blockhash: type: string confirmations: type: number format: double time: type: number format: double blocktime: type: number format: double required: - txid - hash - version - size - vsize - weight - locktime - vin - vout - hex - blockhash - confirmations - time - blocktime type: object additionalProperties: false BadRequestError: description: Contains info about a 400 Bad Request response properties: error: type: string required: - error type: object additionalProperties: false InternalTx: description: Contains info about an EVM internal transaction properties: from: type: string to: type: string value: type: string required: - from - to - value type: object additionalProperties: false Tx_2: description: Contains info about an EVM transaction properties: txid: type: string blockHash: type: string blockHeight: type: number format: double timestamp: type: number format: double from: type: string to: type: string confirmations: type: number format: double value: type: string fee: type: string gasLimit: type: string gasUsed: type: string gasPrice: type: string status: type: number format: double inputData: type: string tokenTransfers: items: $ref: '#/components/schemas/TokenTransfer' type: array internalTxs: items: $ref: '#/components/schemas/InternalTx' type: array required: - txid - blockHeight - timestamp - from - to - confirmations - value - fee - gasLimit - gasPrice - status type: object additionalProperties: false TokenTransfer: description: Contains info about a token including transfer details properties: contract: type: string decimals: type: number format: double name: type: string symbol: type: string type: type: string id: type: string description: nft or multi token id from: type: string to: type: string value: type: string required: - contract - decimals - name - symbol - type - from - to - value type: object additionalProperties: false TransactionError: anyOf: - properties: {} type: object - type: string description: Transaction error TokenSwap: properties: nativeInput: allOf: - $ref: '#/components/schemas/NativeTransfer' nativeOutput: allOf: - $ref: '#/components/schemas/NativeTransfer' tokenInputs: items: $ref: '#/components/schemas/TokenTransfer_2' type: array tokenOutputs: items: $ref: '#/components/schemas/TokenTransfer_2' type: array tokenFees: items: $ref: '#/components/schemas/TokenTransfer_2' type: array nativeFees: items: $ref: '#/components/schemas/NativeTransfer' type: array programInfo: $ref: '#/components/schemas/ProgramInfo' required: - nativeInput - nativeOutput - tokenInputs - tokenOutputs - tokenFees - nativeFees - programInfo type: object additionalProperties: false Tx_3: allOf: - $ref: '#/components/schemas/BaseTx' - $ref: '#/components/schemas/EnrichedTransaction' description: Contains info about a transaction NativeTransfer: properties: fromUserAccount: type: - string - 'null' toUserAccount: type: - string - 'null' amount: type: number format: double required: - fromUserAccount - toUserAccount - amount type: object additionalProperties: false CompressedNftCreator: properties: address: type: string share: type: number format: double verified: type: boolean required: - address - share - verified type: object additionalProperties: false TransactionEvent: properties: nft: allOf: - $ref: '#/components/schemas/NFTEvent' swap: allOf: - $ref: '#/components/schemas/SwapEvent' compressed: items: $ref: '#/components/schemas/CompressedNftEvent' type: - array - 'null' required: - nft - swap - compressed type: object additionalProperties: false TransactionContext: enum: - AUCTION - INSTANT_SALE - OFFER - GLOBAL_OFFER - MINT - UNKNOWN type: string TokenStandard: enum: - ProgrammableNonFungible - NonFungible - Fungible - FungibleAsset - NonFungibleEdition - UnknownStandard type: string CompressedNftEvent: properties: type: $ref: '#/components/schemas/TransactionType' treeId: type: string leafIndex: type: - number - 'null' format: double seq: type: - number - 'null' format: double assetId: type: - string - 'null' instructionIndex: type: - number - 'null' format: double innerInstructionIndex: type: - number - 'null' format: double newLeafOwner: type: - string - 'null' oldLeafOwner: type: - string - 'null' newLeafDelegate: type: - string - 'null' oldLeafDelegate: type: - string - 'null' treeDelegate: type: - string - 'null' metadata: allOf: - $ref: '#/components/schemas/CompressedNftMetadata' required: - type - treeId - leafIndex - seq - assetId - instructionIndex - innerInstructionIndex - newLeafOwner - oldLeafOwner - newLeafDelegate - oldLeafDelegate - treeDelegate - metadata type: object additionalProperties: false BaseTx: description: Contains base transaction details properties: txid: type: string blockHash: type: string blockHeight: type: number format: double timestamp: type: number format: double required: - txid - blockHeight - timestamp type: object additionalProperties: false RawTokenAmount: properties: tokenAmount: type: string decimals: type: number format: double required: - tokenAmount - decimals type: object additionalProperties: false TokenTransfer_2: properties: fromUserAccount: type: - string - 'null' toUserAccount: type: - string - 'null' fromTokenAccount: type: - string - 'null' toTokenAccount: type: - string - 'null' tokenAmount: type: number format: double decimals: type: number format: double tokenStandard: $ref: '#/components/schemas/TokenStandard' mint: type: string required: - fromUserAccount - toUserAccount - fromTokenAccount - toTokenAccount - tokenAmount - decimals - tokenStandard - mint type: object additionalProperties: false TransactionType: enum: - ANY - UNKNOWN - NFT_BID - NFT_GLOBAL_BID - NFT_GLOBAL_BID_CANCELLED - NFT_BID_CANCELLED - NFT_LISTING - NFT_CANCEL_LISTING - NFT_SALE - NFT_MINT - NFT_AUCTION_CREATED - NFT_AUCTION_UPDATED - NFT_AUCTION_CANCELLED - NFT_PARTICIPATION_REWARD - NFT_MINT_REJECTED - CREATE_STORE - WHITELIST_CREATOR - ADD_TO_WHITELIST - REMOVE_FROM_WHITELIST - AUCTION_MANAGER_CLAIM_BID - EMPTY_PAYMENT_ACCOUNT - UPDATE_PRIMARY_SALE_METADATA - ADD_TOKEN_TO_VAULT - ACTIVATE_VAULT - INIT_VAULT - INIT_BANK - INIT_STAKE - MERGE_STAKE - SPLIT_STAKE - SET_BANK_FLAGS - SET_VAULT_LOCK - UPDATE_VAULT_OWNER - UPDATE_BANK_MANAGER - RECORD_RARITY_POINTS - ADD_RARITIES_TO_BANK - INIT_FARM - INIT_FARMER - REFRESH_FARMER - UPDATE_FARM - AUTHORIZE_FUNDER - DEAUTHORIZE_FUNDER - FUND_REWARD - CANCEL_REWARD - LOCK_REWARD - PAYOUT - VALIDATE_SAFETY_DEPOSIT_BOX_V2 - SET_AUTHORITY - INIT_AUCTION_MANAGER_V2 - UPDATE_EXTERNAL_PRICE_ACCOUNT - AUCTION_HOUSE_CREATE - CLOSE_ESCROW_ACCOUNT - WITHDRAW - DEPOSIT - TRANSFER - BURN - BURN_NFT - PLATFORM_FEE - LOAN - RESCIND_LOAN - OFFER_LOAN - CANCEL_OFFER - LEND_FOR_NFT - REQUEST_LOAN - CANCEL_LOAN_REQUEST - BORROW_SOL_FOR_NFT - CLAIM_NFT - REBORROW_SOL_FOR_NFT - REPAY_LOAN - TAKE_LOAN - FORECLOSE_LOAN - UPDATE_OFFER - ADD_TO_POOL - REMOVE_FROM_POOL - CLOSE_POSITION - UNLABELED - CLOSE_ACCOUNT - WITHDRAW_GEM - DEPOSIT_GEM - STAKE_TOKEN - UNSTAKE_TOKEN - STAKE_SOL - UNSTAKE_SOL - CLAIM_REWARDS - BUY_SUBSCRIPTION - SWAP - INIT_SWAP - CANCEL_SWAP - REJECT_SWAP - INITIALIZE_ACCOUNT - TOKEN_MINT - CREATE_APPRAISAL - CANDY_MACHINE_WRAP - CANDY_MACHINE_UNWRAP - CANDY_MACHINE_UPDATE - CANDY_MACHINE_ROUTE - FRACTIONALIZE - DEPOSIT_FRACTIONAL_POOL - FUSE - CREATE_RAFFLE - BUY_TICKETS - UPDATE_ITEM - LIST_ITEM - DELIST_ITEM - ADD_ITEM - CLOSE_ITEM - BUY_ITEM - FILL_ORDER - UPDATE_ORDER - CREATE_ORDER - CLOSE_ORDER - CANCEL_ORDER - KICK_ITEM - UPGRADE_FOX - UPGRADE_FOX_REQUEST - LOAN_FOX - BORROW_FOX - SWITCH_FOX_REQUEST - SWITCH_FOX - CREATE_ESCROW - ACCEPT_REQUEST_ARTIST - CANCEL_ESCROW - ACCEPT_ESCROW_ARTIST - ACCEPT_ESCROW_USER - PLACE_BET - PLACE_SOL_BET - CREATE_BET - INIT_RENT - NFT_RENT_LISTING - NFT_RENT_CANCEL_LISTING - NFT_RENT_UPDATE_LISTING - NFT_RENT_ACTIVATE - NFT_RENT_END - UPGRADE_PROGRAM_INSTRUCTION - FINALIZE_PROGRAM_INSTRUCTION - EXECUTE_TRANSACTION - APPROVE_TRANSACTION - ACTIVATE_TRANSACTION - CREATE_TRANSACTION - CANCEL_TRANSACTION - REJECT_TRANSACTION - ADD_INSTRUCTION - CREATE_MASTER_EDITION - ATTACH_METADATA - REQUEST_PNFT_MIGRATION - START_PNFT_MIGRATION - MIGRATE_TO_PNFT - UPDATE_RAFFLE - CREATE_MERKLE_TREE - DELEGATE_MERKLE_TREE - COMPRESSED_NFT_MINT - COMPRESSED_NFT_TRANSFER - COMPRESSED_NFT_REDEEM - COMPRESSED_NFT_CANCEL_REDEEM - COMPRESSED_NFT_BURN - COMPRESSED_NFT_VERIFY_CREATOR - COMPRESSED_NFT_UNVERIFY_CREATOR - COMPRESSED_NFT_VERIFY_COLLECTION - COMPRESSED_NFT_UNVERIFY_COLLECTION - COMPRESSED_NFT_SET_VERIFY_COLLECTION - DECOMPRESS_NFT - COMPRESS_NFT - COMPRESSED_NFT_DELEGATE - CREATE_POOL - DISTRIBUTE_COMPRESSION_REWARDS - CHANGE_COMIC_STATE - UPDATE_RECORD_AUTHORITY_DATA type: string ProgramName: enum: - UNKNOWN - JUPITER_V1 - JUPITER_V2 - JUPITER_V3 - JUPITER_V4 - MERCURIAL_STABLE_SWAP - SABER_STABLE_SWAP - SABER_EXCHANGE - SERUM_DEX_V1 - SERUM_DEX_V2 - SERUM_DEX_V3 - SERUM_SWAP - STEP_FINANCE - CROPPER - RAYDIUM_LIQUIDITY_POOL_V2 - RAYDIUM_LIQUIDITY_POOL_V3 - RAYDIUM_LIQUIDITY_POOL_V4 - ALDRIN_AMM_V1 - ALDRIN_AMM_V2 - CREMA - LIFINITY - LIFINITY_V2 - CYKURA - ORCA_TOKEN_SWAP_V1 - ORCA_TOKEN_SWAP_V2 - ORCA_WHIRLPOOLS - MARINADE - STEPN - SENCHA_EXCHANGE - SAROS_AMM - FOXY_STAKE - FOXY_SWAP - FOXY_RAFFLE - FOXY_TOKEN_MARKET - FOXY_MISSIONS - FOXY_MARMALADE - FOXY_COINFLIP - FOXY_AUCTION - CITRUS - HADE_SWAP - ZETA - CARDINAL_RENT - CARDINAL_STAKING - SHARKY_FI - OPEN_CREATOR_PROTOCOL - BUBBLEGUM - CORAL_CUBE type: string NativeBalanceChange: properties: account: type: string amount: type: number format: double required: - account - amount type: object additionalProperties: false InnerInstruction: properties: programId: type: string data: type: string accounts: items: type: string type: array required: - programId - data - accounts type: object EnrichedTransaction: properties: description: type: string type: $ref: '#/components/schemas/TransactionType' source: $ref: '#/components/schemas/Source' fee: type: number format: double feePayer: type: string signature: type: string slot: type: number format: double timestamp: type: number format: double nativeTransfers: items: $ref: '#/components/schemas/NativeTransfer' type: - array - 'null' tokenTransfers: items: $ref: '#/components/schemas/TokenTransfer_2' type: - array - 'null' accountData: items: $ref: '#/components/schemas/AccountData' type: array transactionError: allOf: - $ref: '#/components/schemas/TransactionError' instructions: items: $ref: '#/components/schemas/Instruction' type: array events: $ref: '#/components/schemas/TransactionEvent' required: - description - type - source - fee - feePayer - signature - slot - timestamp - nativeTransfers - tokenTransfers - accountData - transactionError - instructions - events type: object additionalProperties: false ProgramInfo: properties: source: $ref: '#/components/schemas/Source' account: type: string programName: $ref: '#/components/schemas/ProgramName' instructionName: type: string required: - source - account - programName - instructionName type: object additionalProperties: false NFTEvent: properties: seller: type: string buyer: type: string timestamp: type: number format: double amount: type: number format: double fee: type: number format: double signature: type: string source: $ref: '#/components/schemas/Source' type: $ref: '#/components/schemas/TransactionType' saleType: $ref: '#/components/schemas/TransactionContext' nfts: items: $ref: '#/components/schemas/Token' type: array required: - seller - buyer - timestamp - amount - fee - signature - source - type - nfts type: object additionalProperties: false TokenBalanceChange: properties: userAccount: type: string tokenAccount: type: string rawTokenAmount: $ref: '#/components/schemas/RawTokenAmount' mint: type: string required: - userAccount - tokenAccount - rawTokenAmount - mint type: object additionalProperties: false Instruction: properties: innerInstructions: items: $ref: '#/components/schemas/InnerInstruction' type: array programId: type: string data: type: string accounts: items: type: string type: array required: - innerInstructions - programId - data - accounts type: object AccountData: properties: account: type: string nativeBalanceChange: type: number format: double tokenBalanceChanges: items: $ref: '#/components/schemas/TokenBalanceChange' type: - array - 'null' required: - account - nativeBalanceChange - tokenBalanceChanges type: object additionalProperties: false Source: enum: - FORM_FUNCTION - EXCHANGE_ART - CANDY_MACHINE_V3 - CANDY_MACHINE_V2 - CANDY_MACHINE_V1 - UNKNOWN - SOLANART - SOLSEA - MAGIC_EDEN - HOLAPLEX - METAPLEX - OPENSEA - SOLANA_PROGRAM_LIBRARY - ANCHOR - PHANTOM - SYSTEM_PROGRAM - STAKE_PROGRAM - COINBASE - CORAL_CUBE - HEDGE - LAUNCH_MY_NFT - GEM_BANK - GEM_FARM - DEGODS - BLOCKSMITH_LABS - YAWWW - ATADIA - DIGITAL_EYES - HYPERSPACE - TENSOR - BIFROST - JUPITER - MERCURIAL_STABLE_SWAP - SABER - SERUM - STEP_FINANCE - CROPPER - RAYDIUM - ALDRIN - CREMA - LIFINITY - CYKURA - ORCA - MARINADE - STEPN - SENCHA_EXCHANGE - SAROS - ENGLISH_AUCTION - FOXY - HADESWAP - FOXY_STAKING - FOXY_RAFFLE - FOXY_TOKEN_MARKET - FOXY_MISSIONS - FOXY_MARMALADE - FOXY_COINFLIP - FOXY_AUCTION - CITRUS - ZETA - ELIXIR - ELIXIR_LAUNCHPAD - CARDINAL_RENT - CARDINAL_STAKING - BPF_LOADER - BPF_UPGRADEABLE_LOADER - SQUADS - SHARKY_FI - OPEN_CREATOR_PROTOCOL - BUBBLEGUM - W_SOL - DUST - SOLI - USDC - FLWR - HDG - MEAN - UXD - SHDW - POLIS - ATLAS - USH - TRTLS - RUNNER - INVICTUS type: string CompressedNftMetadata: properties: collection: properties: verified: type: boolean key: type: string required: - verified - key type: object creators: items: $ref: '#/components/schemas/CompressedNftCreator' type: array isMutable: type: boolean name: type: string primarySaleHappened: type: boolean sellerFeeBasisPoints: type: number format: double symbol: type: string tokenProgramVersion: type: string tokenStandard: $ref: '#/components/schemas/TokenStandard' uri: type: string required: - collection - creators - isMutable - name - primarySaleHappened - sellerFeeBasisPoints - symbol - tokenProgramVersion - tokenStandard - uri type: object additionalProperties: false SwapEvent: properties: nativeInput: $ref: '#/components/schemas/NativeBalanceChange' nativeOutput: $ref: '#/components/schemas/NativeBalanceChange' tokenInputs: items: $ref: '#/components/schemas/TokenBalanceChange' type: array tokenOutputs: items: $ref: '#/components/schemas/TokenBalanceChange' type: array tokenFees: items: $ref: '#/components/schemas/TokenBalanceChange' type: array nativeFees: items: $ref: '#/components/schemas/NativeBalanceChange' type: array innerSwaps: items: $ref: '#/components/schemas/TokenSwap' type: array required: - nativeInput - nativeOutput - tokenInputs - tokenOutputs - tokenFees - nativeFees - innerSwaps type: object additionalProperties: false Token: properties: mint: type: string tokenStandard: $ref: '#/components/schemas/TokenStandard' required: - mint - tokenStandard type: object additionalProperties: false x-refined-from: - shapeshift-bitcoin-openapi.json - shapeshift-ethereum-openapi.json - shapeshift-solana-openapi.json