Troubleshooting
This guide helps you diagnose and resolve common issues when working with Shield.
Transaction Submission Issues
Problem: "Fee not paid to Shield" Error
Possible Causes:
No output to Shield payment address
Payment sent to incorrect Shield address
Multiple Shield outputs in transaction
Solutions:
Verify you're using the current Shield payment address from
/info
Ensure your transaction includes an output to this address
Check that you're including only one Shield payment output
Verify the address is exactly correct (including case and checksum)
Problem: "Fee below minimum required" Error
Possible Causes:
Fee amount is too low for the chosen fee rate
Fee calculation error in transaction creation
Solutions:
Re-check fee calculation:
Transaction Size (vbytes) × Fee Rate (sats/vbyte)
Ensure you're factoring in the complete transaction size
Use a higher fee rate from the
/info
endpointFor large transactions, consider increasing the fee rate further
Problem: "Transaction decode failed" Error
Possible Causes:
Malformed transaction hex
Incomplete transaction data
Encoding issues
Solutions:
Verify the transaction is correctly serialized
Check for truncation in the hex string
Ensure the transaction is properly signed
Try re-serializing the transaction
Problem: Transaction Accepted but Not Appearing in Blockchain
Possible Causes:
Low fee rate relative to network congestion
Mining pool policy restrictions
Transient network issues
Solutions:
Wait longer - Shield transactions bypass the mempool but still depend on miners
Try submitting a new transaction with a higher fee rate
Check if the transaction has dependencies that aren't confirmed
Verify the transaction doesn't conflict with chain or pool policies
API Connection Issues
Problem: Cannot Connect to Shield API
Possible Causes:
Network connectivity issues
DNS resolution problems
SSL/TLS errors
Solutions:
Check your internet connection
Verify DNS resolution for
shield.rebarlabs.io
Ensure your client supports TLS 1.2 or higher
Try connecting from a different network
Problem: Rate Limit Exceeded Errors
Possible Causes:
Too many requests in a short time period
Shared IP address with other users
No backoff strategy implemented
Solutions:
Implement rate limiting in your client code
Add exponential backoff for retries
Cache responses where appropriate (e.g.,
/info
endpoint)Contact support for enterprise rate limits if needed
Problem: Timeouts on API Requests
Possible Causes:
Shield service under high load
Network latency issues
Client timeout settings too aggressive
Solutions:
Increase client-side timeout values
Implement retry logic with backoff
Check for any network issues between your client and Shield
Try a different network connection if possible
Transaction Confirmation Issues
Problem: Transaction Not Confirming
Possible Causes:
Fee rate too low for current network conditions
Transaction has dependencies that aren't confirmed
Mining pool policies rejecting the transaction
Solutions:
Wait longer - Bitcoin confirmation times can vary significantly
If urgent, create a replacement transaction with higher fees
Check block explorers to see if transaction is visible (may indicate it was broadcast to network)
Verify transaction doesn't have any policy violations
Problem: Transaction Shows in Block Explorer but Status Unclear
Possible Causes:
Transaction confirmed but client hasn't updated
Temporary chain reorganization
Block explorer data lag
Solutions:
Check multiple block explorers
Wait for additional confirmations
Verify the transaction in your own Bitcoin node if available
Check transaction details match what you submitted
Fee and Payment Issues
Problem: Unexpected Fee Amounts
Possible Causes:
Fee calculation error
Transaction size estimated incorrectly
Fee rates changed between fetching info and submission
Solutions:
Re-verify your fee calculation logic
Fetch updated fee information before each transaction
Check if you're accounting for all transaction parts in size calculation
Consider adding a small buffer to calculated fees
Problem: Cannot Determine Correct Shield Payment Address
Possible Causes:
Not fetching from
/info
endpointCaching old address information
Network request failures
Solutions:
Always fetch current payment information from
/info
before each transactionImplement proper error handling for API requests
Set reasonable cache TTLs if caching payment information
Log the address being used for debugging
Contacting Support
If you're still experiencing issues after trying these troubleshooting steps, contact Shield support:
Email: [email protected]
Include detailed information:
Error messages and codes
Transaction hex (if applicable)
Request and response examples
Timestamp of the issue
Steps to reproduce the problem
Diagnostic Tools
Use these diagnostic commands to help troubleshoot issues:
Check Shield API Status
Verify Transaction State
If your transaction has been confirmed, you can check its status with Bitcoin block explorers:
Last updated