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.
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.
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.
/v1/platformOFFLINE CONTRACTRead 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 bodyResponse 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.
/v1/auth/challengeOFFLINE CONTRACTCreate a one-time creator-bound challenge
Authentication: no bearer required. Prospective HTTP statuses: 200, 400, 401, 413, 429. Internal handler returns status/body.
| Parameter | Location | Type | Required | Constraints |
|---|---|---|---|---|
creator | JSON body | string | Required | 32-byte public key in base58; byte decoding is required in validation. Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$ |
termsHash | JSON body | string | Required | 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.
/v1/auth/verifyOFFLINE CONTRACTVerify a client-supplied public authentication proof
Authentication: no bearer required. Prospective HTTP statuses: 200, 400, 401, 413, 429. Internal handler returns status/body.
| Parameter | Location | Type | Required | Constraints |
|---|---|---|---|---|
id | JSON body | string | Required | One-time issued challenge identifier. Pattern: ^[a-f0-9]{48}$ |
signatureBase64 | JSON body | string | Required | Client-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.
/v1/launch/buildOFFLINE CONTRACTPrepare an offline canonical unsigned draft
Authentication: creator-bound session. Prospective HTTP statuses: 200, 400, 401, 413, 429, 409. Internal handler returns status/body.
| Parameter | Location | Type | Required | Constraints |
|---|---|---|---|---|
Authorization | HTTP header (planned) | Bearer | Required | Creator-bound session. In-process argument: bearer. |
Idempotency-Key | header | string | Required | Prospective mapping to the in-process idempotencyKey argument. |
creator | JSON body | string | Required | 32-byte public key in base58; byte decoding is required in validation. Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$ |
mint | JSON body | string | Required | 32-byte public key in base58; byte decoding is required in validation. Pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$ |
name | JSON body | string | Required | Maximum 32 UTF-8 bytes; maxLength is only a character bound. Maximum character bound: 32. Check UTF-8 bytes separately. |
symbol | JSON body | string | Required | Maximum 10 UTF-8 bytes. Maximum character bound: 10. Check UTF-8 bytes separately. |
uri | JSON body | string | Required | Maximum 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
| Status | Meaning | Next step |
|---|---|---|
| 400 | Invalid public fields, creator binding, URI or terms | Correct public input |
| 401 | Invalid proof, expired challenge or unauthorized session | Obtain a new valid challenge/session |
| 409 | Idempotency conflict or expired draft | Exact retry or new key for fresh draft |
| 413 | Body exceeds 16 KiB | Reduce payload |
| 429 | Prototype capacity or five builds/minute/creator | Back off; not a production SLA |
| 404 | No execution endpoint | No 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
- Inspect the fixed platform and rights.
- Future client supplies a public wallet proof; keys stay local.
- Prepare and inspect canonical unsigned inputs.
- Stop at fresh preflight, creator consent, metadata, custody and economics gates.
- Only a separately approved client flow would sign payer and mint slots and submit.
- 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