PARTNER DOCUMENTATION · DEMO / OFFLINE · No deployed API base URL

INTEGRATE WITH CLARITY

Partner API
documentation.

A readable reference to the existing in-process adapter. Prepare public inputs, inspect the unsigned boundary and understand what remains before production.

NOT A LIVE SERVICE

One existing adapter. No public server.

The prototype is a local handle({method, path, body, bearer, idempotencyKey}) function. Paths below document prospective HTTP mappings; no URL, Try it out, signing or submission capability is provided.

Fjf2or uses a fixed platform profile. Your client retains payer and mint keys. Wallet proof verification does not itself establish production consent. In-memory sessions and idempotency are not durable or multi-worker safe.

Current scope: offline unsigned preparation. Fresh published metadata, mainnet validation, custody and economic gates remain required. There is no confirmed Fjf2or integration with an external operator.

OPENAPI 3.1 / PARTNER PREVIEW

Methods, parameters & examples.

The following reference is generated from the packaged OpenAPI contract with curated, clearly labelled examples. No external CDN or API explorer is loaded.

GET/v1/platformOFFLINE CONTRACT

Read fixed offline platform profile

Authentication: no bearer required. Prospective HTTP statuses: 200. Internal handler returns status/body.

No parameters. Anonymous profile read.

Request body example

// No body

Response body example · abridged

{
  "mode": "OFFLINE_PROTOTYPE",
  "platform": "Fjf2orw2gsxoX7wW498JorwPomz2S1EBBG5mngdeMr2C",
  "productionApproved": false,
  "publicServer": false,
  "creatorBpsImplemented": 5000
}

Placeholders are illustrative, not usable credentials or signatures. No request is executed by this page.

POST/v1/auth/challengeOFFLINE CONTRACT

Create a one-time creator-bound challenge

Authentication: no bearer required. Prospective HTTP statuses: 200, 400, 401, 413, 429. Internal handler returns status/body.

Parameters and requirements
ParameterLocationTypeRequiredConstraints
creatorJSON bodystringRequired32-byte public key in base58; byte decoding is required in validation. Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
termsHashJSON bodystringRequired Exact 64-character hash from the demo profile; not production consent. Pattern: ^[a-f0-9]{64}$

Request body example

{
  "creator": "FVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z",
  "termsHash": "<exact demo hash from profile>"
}

Response body example · abridged

{
  "id": "<issued nonce>",
  "message": "<creator-bound authentication message>",
  "expiresAt": "<server timestamp + 60 seconds>",
  "productionApproved": false
}

Placeholders are illustrative, not usable credentials or signatures. No request is executed by this page.

POST/v1/auth/verifyOFFLINE CONTRACT

Verify a client-supplied public authentication proof

Authentication: no bearer required. Prospective HTTP statuses: 200, 400, 401, 413, 429. Internal handler returns status/body.

Parameters and requirements
ParameterLocationTypeRequiredConstraints
idJSON bodystringRequired One-time issued challenge identifier. Pattern: ^[a-f0-9]{48}$
signatureBase64JSON bodystringRequiredClient-supplied 64-byte Ed25519 proof encoded as base64; no signing endpoint.

Request body example

{
  "id": "<issued nonce>",
  "signatureBase64": "<client-supplied public proof>"
}

Response body example · abridged

{
  "bearer": "<creator-bound session>",
  "scope": "offline:launch-draft",
  "expiresAt": "<server timestamp + one hour>",
  "productionApproved": false
}

Placeholders are illustrative, not usable credentials or signatures. No request is executed by this page.

POST/v1/launch/buildOFFLINE CONTRACT

Prepare an offline canonical unsigned draft

Authentication: creator-bound session. Prospective HTTP statuses: 200, 400, 401, 413, 429, 409. Internal handler returns status/body.

Parameters and requirements
ParameterLocationTypeRequiredConstraints
AuthorizationHTTP header (planned)BearerRequiredCreator-bound session. In-process argument: bearer.
Idempotency-KeyheaderstringRequiredProspective mapping to the in-process idempotencyKey argument.
creatorJSON bodystringRequired32-byte public key in base58; byte decoding is required in validation. Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
mintJSON bodystringRequired32-byte public key in base58; byte decoding is required in validation. Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
nameJSON bodystringRequiredMaximum 32 UTF-8 bytes; maxLength is only a character bound. Maximum character bound: 32. Check UTF-8 bytes separately.
symbolJSON bodystringRequiredMaximum 10 UTF-8 bytes. Maximum character bound: 10. Check UTF-8 bytes separately.
uriJSON bodystringRequiredMaximum 200 UTF-8 bytes; authoritative URI/metadata validation is also required. Pattern: ^https://(ipfs\.io|arweave\.net)/ Maximum character bound: 200. Check UTF-8 bytes separately.

Request body example

{
  "creator": "FVen3X669xLzsi6N2V91DoiyzHzg1uAgqiT8jZ9nS96Z",
  "mint": "4Qrizztktt7NqKQs5xUCE44nZ43rYtLNViTqEuNNY1sV",
  "name": "Fjf2or API Demo",
  "symbol": "DEMO",
  "uri": "https://ipfs.io/ipfs/bafyOfflineDemo"
}

Response body example · abridged

{
  "mode": "OFFLINE_PROTOTYPE",
  "fixtureOnly": true,
  "productionApproved": false,
  "sendable": false,
  "placeholderBlockhash": true,
  "unsignedTransactionBase64": "<archived example available in unsigned-draft.json>",
  "currentBalanceVerified": false,
  "metadataPublicationVerified": false
}

Placeholders are illustrative, not usable credentials or signatures. No request is executed by this page.

Errors, limits & retries

StatusMeaningNext step
400Invalid public fields, creator binding, URI or termsCorrect public input
401Invalid proof, expired challenge or unauthorized sessionObtain a new valid challenge/session
409Idempotency conflict or expired draftExact retry or new key for fresh draft
413Body exceeds 16 KiBReduce payload
429Prototype capacity or five builds/minute/creatorBack off; not a production SLA
404No execution endpointNo signing or send route exists

Challenge: 60 seconds. Session: one hour. Draft retry window: 30 seconds. Identity is bound to creator; changed payload with the same key rejects. All error responses retain productionApproved:false.

Launch and settlement boundaries

  1. Inspect the fixed platform and rights.
  2. Future client supplies a public wallet proof; keys stay local.
  3. Prepare and inspect canonical unsigned inputs.
  4. Stop at fresh preflight, creator consent, metadata, custody and economics gates.
  5. Only a separately approved client flow would sign payer and mint slots and submit.
  6. Collect / claim fees, monetize when supported and attribute verified quote receipts before settlement.

Transfer-fee token inventory is not quote revenue. The demo 50/50 rule is not a partnership offer. No 85/15, return, liquidity or payout guarantee is offered.

The full archived unsigned fixture has a placeholder blockhash, two zero signatures and historical costs. It is independent of edits in the browser demo.

Inspect archived fixture ↓

Technical review before rollout

Existing builder dependencies load the project's RPC environment configuration if invoked. The presentation never imports or executes that chain: it reads only the packaged public fixture. Partners should review architecture before introducing a backend or real RPC.

Start with a fixed preset review, unsigned connector or one independent user's offline workflow.

Become a Partner →

Contact us: partners@fjf2or.com