Verify Content API
Verify the authenticity of registered content
Endpoint
POST https://api.blockfact.io/v1/content/verifyRequest Body
{
"tx_hash": "0x1234...abcd"
}Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| tx_hash | string | Yes | Starknet transaction hash |
Response
{
"valid": true,
"content_hash": "0x5678...ef01",
"creator": "0xabc...def",
"timestamp": "2026-03-08T12:00:00Z",
"block_number": 123456,
"network": "starknet-mainnet",
"metadata": {
"latitude": 40.7128,
"longitude": -74.0060,
"device": "iPhone 15 Pro"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| valid | boolean | Whether content is authentic |
| content_hash | string | Hash of original content |
| creator | string | Wallet address of creator |
| timestamp | string | When content was registered |
| block_number | number | Blockchain block number |
| network | string | Blockchain network |
| metadata | object | Additional metadata |
Error Responses
404 Not Found
{
"error": "Transaction not found",
"message": "No content registered with this transaction hash"
}400 Bad Request
{
"error": "Invalid transaction hash",
"message": "Transaction hash must be a valid hex string"
}Example: cURL
curl -X POST https://api.blockfact.io/v1/content/verify \
-H "Content-Type: application/json" \
-d '{
"tx_hash": "0x1234...abcd"
}'Example: JavaScript
const response = await fetch('https://api.blockfact.io/v1/content/verify', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx_hash: '0x1234...abcd'
})
});
const result = await response.json();
if (result.valid) {
console.log('Content is authentic!');
console.log('Creator:', result.creator);
console.log('Registered:', result.timestamp);
} else {
console.log('Content verification failed');
}Example: Python
import requests
response = requests.post(
'https://api.blockfact.io/v1/content/verify',
json={'tx_hash': '0x1234...abcd'}
)
result = response.json()
if result['valid']:
print('Content is authentic!')
print(f"Creator: {result['creator']}")
print(f"Registered: {result['timestamp']}")
else:
print('Content verification failed')SDK Usage
React Native
import { verifyContent } from '@blockfact/react-native-facti-pro';
const result = await verifyContent(factiUrl);
console.log('Valid:', result.valid);
console.log('Metadata:', result.metadata);React Web
import { parseFacTi } from '@blockfact/react-facti';
const { metadata } = await parseFacTi(factiUrl);
// Verify on blockchain
const response = await fetch('https://api.blockfact.io/v1/content/verify', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ tx_hash: metadata.tx_hash })
});
const verification = await response.json();Rate Limits
- Free Tier: 1,000 verifications/day
- Pro Tier: 10,000 verifications/day
- Enterprise: Unlimited
💡 Best Practice
Verification is free and doesn't require authentication. Cache results to avoid unnecessary API calls.