API

This API will allow you to create 1SatOrdinals Single and Collection Tokens.

Common

An Api Key must be passed in the header of all requests see Authentication

Create a Token Studio Project for your Standalone - Collection

HTTP Request
POST https://platform.taal.com/token-studio/api/v1/project/create
cURL
curl --location 'https://platform.taal.com/token-studio/api/v1/project/create' \
--header 'Apikey: ## VALID_API_KEY ##' \
--header 'Content-Type: application/json' \
--data '{
    "name": "1satcol project 1718100516565",
    "isFungible": false,
    "type": "single", //"collection"
    "tokenProtocol": "OneSatOrdinal"
}'

Response JSON structure
{
    "success": boolean,
    "data": {
        "projectUid": <uid>
    }
}

Get a list of your Token Studio projects

It will return all projects associated with your API Key.

HTTP Request
GET https://platform.taal.com/token-studio/api/v1/project/
cURL
curl --location 'https://platform.taal.com/token-studio/api/v1/project/' \
--header 'Apikey: ## VALID_API_KEY ##'
Response JSON structure
{
    "success": boolean,
    "data": {
        "projectList": [
            {
                "uid": <uid>,
                "name": string,
                "network": string,
                "offChainData": {
                    "isFungible": boolean
                },
                "tokenProtocol": string
            }
        ]
    }
}

Get details for a specific project id

Returns a project for a valid project id.

HTTP Request
GET https://platform.taal.com/token-studio/api/v1/project/<projectId>
cURL
  curl --location 'https://platform.taal.com/token-studio/api/v1/project/<projectId>' \
  --header "Apikey: ## VALID_API_KEY ##"
Response JSON structure
{
    "success": true,
    "data": {
        "uid": <uid>,
        "name": string,
        "tokenProtocol": string,
        "network": string,
        "isFungible": boolean,
        "type": string
    }
}

URL Parameters

ParameterDescription

projectId

A valid project Id

Output creation

Creates an output (single, collection, collectinItem) in the project.

Single projects can only contain single/standalone outputs

Collection projects need first a collection output created and then one or several collectionItems linked to the initial collection output

HTTP Request
POST https://platform.taal.com/token-studio/api/v1/token/one-sat-ord/create-output
cURL
curl --location 'https://platform.taal.com/token-studio/api/v1/token/one-sat-ord/create-output' \
--header "Apikey: ## VALID_API_KEY ##" \
--header 'Content-Type: application/json' \
--data '{
    "projectUid": "<projectId>",
    
    "contentType":"text/html;charset=utf8",
    "b64File":"PGh0bWw+PGJvZHk+SGVsbG8gV29ybGQ8L2JvZHk+PC9odG1sPg==",
    
    "metadata": {
        "name": "My single token 1718101145907",
         "subType": "single",
         "subTypeData": "{\"description\": \"this is description\" }",
        "type": "ord",
        "description": "this is a standalone token description",
        "info": "anything",
        "eyes": "green"
    }
}'
Response JSON structure
{
    "success": true,
    "data": {
        "uid": <uid>,
        "type": string,
        "tokenProtocol": string
    }
}

Body Parameters

ParameterDescription

subType

  • 'single' for standalone tokens in single projects

  • 'collection' for the seed token in collection projects

    • 'collectionItem' for each element linked to the collection

projectUid

projectUid

contentType

contentType depending on the desired output type (text, html or image)

b64File

Raw content formatted in b64

metadata

Mandatory:
"name": NFT name
"type": "ord"
"subType": "single" //"collection" or "collectionItem",
"subTypeData": stringified JSON,
"description": string,
Other e.g. traits:
        "info": "anything",
        "eyes": "green"

Output deletion

Deletes an output (single, collection, collectinItem) in the project.

HTTP Request
DELETE https://platform.taal.com/token-studio/api/v1/output/{{outputUid}} 
cURL
curl --location --request DELETE 'https://platform.taal.com/token-studio/api/v1/output/{{outputUid}}' \
--header "Apikey: ## VALID_API_KEY ##" \
--header 'Content-Type: application/json'
Response JSON structure
```json
"success": true,
    "data": {
        "uid": "<uid>",
        "createdAt": "<timestamp>",
        "type": "token",
        "tokenProtocol": "OneSatOrdinal",
        "projectUid": "<uid>",
        "transactionUid": null,
        "txId": null,
        "identityUid": "<uid>",
        "address": null,
        "metadata": { <metadata>
        },
        "offChainData": {
            <fileData>
        }
    }
}
```

Query Parameters

ParameterDescription

outputUid

A valid output Id

Output List

Returns all outputs for a valid project id.

HTTP Request
GET https://platform.taal.com/token-studio/api/v1/output/by-project/{{projectUid}}?on-chain=0&type=collectionItem
cURL
  curl --location 'https://platform.taal.com/token-studio/api/v1/' \
  --header "Apikey: ## VALID_API_KEY ##"
Response JSON structure
{
    "success": boolean,
    "data": {
        "outputList": [
            {
                "createdAt": <date>,
                "uid": <uid>,
                "projectUid": <uid>,
                "transactionUid": <uid> (null if has not been used in a transaction yet),
                "type": string,
                "tokenProtocol": string,
                "metadata": { //Key / value pairs e.g.
                    "app": string,
                    "eyes": string,
                    "info": string,
                    "name": string,
                    "type": string,
                    "subType": string,
                    "description": string,
                    "subTypeData": stringified JSON
                },
                "offChainData": {
                    "b64FileHash": string,
                    "b64FileSize": int,
                    "contentType": string
                }
            }
        ]
    }
}

Query Parameters

ParameterDescription

projectUid

A valid project Id

on-chain

Optional. If provided, the accepted values are 0/1 (false / true) to filter by outputs already broadcast

type

Optional. If provided, the accepted values are collection / collectionItem, to filter by a specific type of output

Unsigned Transaction creation

Creates an unsigned transaction ready to sign and then be broadcast.

Unsigned transactions can refer to different outputs as well as different UTXO to be used for funding it

HTTP Request
POST https://platform.taal.com/token-studio/api/v1/token/one-sat-ord/create-transaction
cURL
curl --location 'https://platform.taal.com/token-studio/api/v1/token/one-sat-ord/create-transaction' \
--header "Apikey: ## VALID_API_KEY ##" \
--header 'Content-Type: application/json' \
--data '{
    "projectUid": "<projectUid>",
    "publicKey":  <Public Key>,
    "dstAddress": <Token Recipient Address>,
    "outputList": [<outputList>],
    "utxoList": [
        {
           "outputIndex": num,
            "txId": "<txId>"
        }
    ]
}'

Response JSON structure

{
    "success": boolean,
    "data": {
        "transactionUid": <uid>,
        "txObj": {<txObj>
        }
    }
}

Body Parameters

ParameterDescription
<projectUid>

project Id

<publicKey>

publicKey

dstAddress
<Token Recipient Address>
outputList

List of output Ids

txId

Funding txId

outputIndex

Output Index of the tx e.g. 1

Broadcast Transaction

Broadcast a signed transaction and returns its transaction Id

HTTP Request
POST https://platform.taal.com/token-studio/api/v1/submit
cURL
curl --location 'https://platform.taal.com/token-studio/api/v1/submit' \
--header "Apikey: ## VALID_API_KEY ##" \
--header 'Content-Type: application/json' \
--data '{
    "transactionUid": "<transactionUid>",
    "tx": "<txObjSigned>"
}
'

Response JSON structure

    {
      success: boolean,
      data: {
        txId: string
      }
    }

Body Parameters

ParameterDescription
transactionUid

Transaction Uid returned by the create transaction endpoint

txObjSigned

Signed transaction ready to be broadcast

Last updated