IOstamp

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"}'

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 /health
GET /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