Fractal Logo

Tokenization infrastructure for African real assets. Issuers, investors, and operators on one shared operational layer.

Platform

HomeOfferingsDocumentationAPI ReferenceIssuer PortalInvestor Portal

Legal

Privacy PolicyTerms of ServiceCookie Policy

© 2026 Fractal. All rights reserved.

Investments involve risk. Past performance is not indicative of future results. Not financial advice.

Fractal Logo
DocsSign upLogin
DocsSign upLogin

Docs Navigation

Current: Authentication

Open all sections

Overview

IntroductionHow Fractal WorksPlatform LifecycleKey Concepts

Getting Started

For IssuersFor InvestorsFor OperatorsFor ProfessionalsFor Admins

Role Guides

Issuer GuideInvestor GuideOperator GuideProfessional GuideAdmin Guide

Compliance & Trust

Compliance ModelBlockchain & Contracts

Developer Reference

API OverviewAuthenticationEndpointsWebhooksSmart ContractsError Codes

More

GlossaryFAQ

Documentation

Overview

IntroductionHow Fractal WorksPlatform LifecycleKey Concepts

Getting Started

For IssuersFor InvestorsFor OperatorsFor ProfessionalsFor Admins

Role Guides

Issuer GuideInvestor GuideOperator GuideProfessional GuideAdmin Guide

Compliance & Trust

Compliance ModelBlockchain & Contracts

Developer Reference

API OverviewAuthenticationEndpointsWebhooksSmart ContractsError Codes

More

GlossaryFAQ

Home / Documentation / API Authentication

API Authentication

Planned API auth uses bearer tokens. Mutating requests also require a CSRF token header.

Bearer Token

Include a bearer token with every authenticated request.

Authorization: Bearer YOUR_API_TOKEN

CSRF Protection for Mutations

For POST, PATCH, and DELETE, fetch a CSRF token first and submit it in X-CSRF-Token.

# Step 1: fetch CSRF token
GET /v1/csrf-token
Authorization: Bearer YOUR_API_TOKEN

# Response
{ "csrfToken": "abc123xyz..." }

# Step 2: include token in mutation
POST /v1/offerings/:id/subscribe
Authorization: Bearer YOUR_API_TOKEN
X-CSRF-Token: abc123xyz...
Content-Type: application/json

{ "amount": "25000.00" }

Scope and Permission Behavior

CaseResult
Missing token401 Unauthorized
Invalid token401 Unauthorized
Valid token but unauthorized role403 Forbidden
Mutation request without CSRF403 Forbidden