IOstamp API Documentation
Store Data Hashes Permanently on the Bitcoin SV Blockchain
Quick Start
Store your first hash in seconds:
# Set your API key as environment variable
export IOSTAMP_API_KEY="your-api-key-here"
curl -X POST https://api.iostamp.com/store-file-hash \
-H "Content-Type: application/json" \
-H "X-API-Key: $IOSTAMP_API_KEY" \
-d '{"fileData": "My important document data"}'
Table of Contents
Base URL
| Environment | URL |
|---|---|
| Production | https://api.iostamp.com |
Authentication
Protected endpoints require an API key sent in the request header.
⚠️ Security Best Practice: Never hardcode your API key in source code. Store it in an environment variable.
Step 1: Create a .env file:
IOSTAMP_API_KEY=your-api-key-here
Step 2: Include the key in the X-API-Key header.
PROTECTED
POST /store-file-hash
PUBLIC
GET /healthGET /verify/{txid}POST /verify/{txid}/data
Store Data Hash — POST /store-file-hash
Store a SHA256 hash of your data permanently on the Bitcoin SV blockchain.
Headers
| Header | Required | Description |
|---|---|---|
Content-Type |
Yes | application/json |
X-API-Key |
Yes | Your API key |
Body
| Field | Type | Description |
|---|---|---|
fileData |
string | The data to hash and store |
Example (Python)
import os
import requests
from dotenv import load_dotenv
load_dotenv()
response = requests.post(
'https://api.iostamp.com/store-file-hash',
headers={
'Content-Type': 'application/json',
'X-API-Key': os.getenv('IOSTAMP_API_KEY')
},
json={'fileData': 'My important document data'}
)
print(response.json())
Success Response
{
"message": "Transaction broadcasted successfully!",
"txid": "d77fdf46a060901c...",
"fileHash": "3d298c392052bd7f...",
"explorer": "https://whatsonchain.com/tx/..."
}
Verify Transaction — GET /verify/{txid}
Retrieve the stored hash and transaction details from the blockchain.
curl https://api.iostamp.com/verify/d77fdf46a060901c...
Response Fields
| Field | Description |
|---|---|
txid |
Transaction ID |
blockHeight |
Block number |
confirmations |
Number of confirmations |
opReturn.hash |
The stored SHA256 hash |
Verify Data Match — POST /verify/{txid}/data
Compare your original data against the hash stored on the blockchain.
Request Body
| Field | Type | Description |
|---|---|---|
data |
string | Original data to verify |
Response
| Field | Description |
|---|---|
verified |
true if matches, false if tampered |
blockchainHash |
Hash stored on blockchain |
calculatedHash |
Hash of provided data |
Health Check — GET /health
curl https://api.iostamp.com/health
Response
{
"status": "running",
"version": "2.0.0",
"uptime": { "seconds": 86400, "formatted": "1d 0h 0m" },
"endpoints": { "store": "POST /store-file-hash", ... },
"rateLimit": { "store": "10 requests/minute", "global": "100 requests/15 minutes" }
}
Rate Limits
| Endpoint | Limit |
|---|---|
POST /store-file-hash |
10 requests per minute |
| All endpoints | 100 requests per 15 minutes |
Version: 2.0.0 | Last Updated: February 2026