# Withdrawals

## Get a withdrawal

> Fetch the status and other details of a withdrawal

```json
{"openapi":"3.0.3","info":{"title":"USDCx API","version":"1.0.0"},"tags":[{"name":"Withdrawals"}],"servers":[{"url":"https://api.usdc-on-stacks.com","description":"USDCx API Server"}],"paths":{"/{networkStr}/withdrawals/{burnTxid}/{eventIndex}":{"get":{"summary":"Get a withdrawal","description":"Fetch the status and other details of a withdrawal","tags":["Withdrawals"],"parameters":[{"name":"burnTxid","in":"path","required":true,"schema":{"type":"string","description":"The withdrawal transaction ID","pattern":"^0x[0-9a-fA-F]*$"}},{"name":"eventIndex","in":"path","required":true,"schema":{"type":"string","description":"The event index of the `print` event in the transaction that includes details of the withdrawal","pattern":"^(?:(?!^-0$)-?(?:(?:0|[1-9]\\d*)))$"}}],"responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"burnEventData":{"type":"object","properties":{"amount":{"type":"string"},"nativeDomain":{"type":"string"},"nativeRecipient":{"type":"string"},"sender":{"type":"string"},"topic":{"const":"burn"}},"required":["amount","nativeDomain","nativeRecipient","sender","topic"]},"burnIntent":{"type":"object","properties":{"maxBlockHeight":{"type":"string"},"maxFee":{"type":"string"},"spec":{"type":"object","properties":{"destinationCaller":{"type":"string"},"destinationContract":{"type":"string"},"destinationDomain":{"type":"number"},"destinationRecipient":{"type":"string"},"destinationToken":{"type":"string"},"hookData":{"type":"object","properties":{"forwardingCalldata":{"type":"string"},"forwardingContractAddress":{"type":"string"},"remoteDepositor":{"type":"string"},"remoteDomain":{"type":"number"},"remoteToken":{"type":"string"}},"required":["forwardingCalldata","forwardingContractAddress","remoteDepositor","remoteDomain","remoteToken"]},"salt":{"type":"string"},"sourceContract":{"type":"string"},"sourceDepositor":{"type":"string"},"sourceDomain":{"type":"number"},"sourceSigner":{"type":"string"},"sourceToken":{"type":"string"},"value":{"type":"string"},"version":{"type":"number"}},"required":["destinationCaller","destinationContract","destinationDomain","destinationRecipient","destinationToken","hookData","salt","sourceContract","sourceDepositor","sourceDomain","sourceSigner","sourceToken","value","version"]}},"required":["maxBlockHeight","maxFee","spec"]},"burnTxid":{"type":"string"},"circleResponse":{"type":"object","properties":{"burnTxId":{"type":"string","description":"The transaction hash of the burn on the remote network"},"status":{"anyOf":[{"const":"confirmed","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"created","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"expired","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"failed","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"finalized","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"verified","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."}],"description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},"transferSpecHashes":{"type":"array","description":"List of transfer spec hashes for all withdraw intents in the group","items":{"type":"string"}},"useCircleForwarding":{"type":"boolean","description":"Whether Circle should submit the transaction to release funds on the destination"},"withdrawalId":{"type":"string","description":"The unique identifier of the withdrawal group"},"attestation":{"type":"string","description":"The Circle attestation signature"},"attestationPayload":{"type":"string","description":"The full attestation encoding/payload"},"failureReason":{"type":"string","description":"The reason for failure when status is 'failed'. Currently only 'verification_failed' is returned when burn transaction verification fails."},"transactionHash":{"type":"string","description":"The hash of the forwarding transaction"}},"required":["burnTxId","status","transferSpecHashes","useCircleForwarding","withdrawalId"]},"circleStatus":{"type":"object","properties":{"burnTxId":{"type":"string","description":"The transaction hash of the burn on the remote network"},"status":{"anyOf":[{"const":"confirmed","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"created","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"expired","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"failed","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"finalized","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},{"const":"verified","description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."}],"description":"The status of the withdrawal.\n'created': Withdrawal created but burn transaction on the remote network not yet verified.\n'verified': Burn transaction on the remote network verified successfully, attestation available but not yet submitted on chain.\n'confirmed': Attestation submitted on-chain but transaction not yet finalized.\n'finalized': Transaction finalized successfully (terminal state).\n'expired': Attestation expired before being used (terminal state, retryable in most cases).\n'failed': Verification failed, withdrawal cannot proceed (terminal state, non-retryable in most cases)."},"transferSpecHashes":{"type":"array","description":"List of transfer spec hashes for all withdraw intents in the group","items":{"type":"string"}},"useCircleForwarding":{"type":"boolean","description":"Whether Circle should submit the transaction to release funds on the destination"},"withdrawalId":{"type":"string","description":"The unique identifier of the withdrawal group"},"attestation":{"type":"string","description":"The Circle attestation signature"},"attestationPayload":{"type":"string","description":"The full attestation encoding/payload"},"failureReason":{"type":"string","description":"The reason for failure when status is 'failed'. Currently only 'verification_failed' is returned when burn transaction verification fails."},"transactionHash":{"type":"string","description":"The hash of the forwarding transaction"}},"required":["burnTxId","status","transferSpecHashes","useCircleForwarding","withdrawalId"]},"createdAt":{"type":"string"},"eventIndex":{"type":"number"},"withdrawalId":{"type":"string"}},"required":["burnEventData","burnIntent","burnTxid","circleResponse","circleStatus","createdAt","eventIndex","withdrawalId"]}}}},"404":{"description":"Response for status 404","content":{"text/plain":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"}}}}},"operationId":"getByNetworkStrWithdrawalsByBurnTxidByEventIndex"}}}}
```
