FeaturesManage IssuerRegister or Import Issuer

Register or Import Issuer

Use this page when the issuer already exists outside the main POST /issuer/create flow.

Use Create Issuer for the main deployment flow.

Before you use these routes

If the factory deployment is not in TAP yet, send POST /factory/register once for that factory:

{
    "factory_address": "<YOUR_FACTORY_ADDRESS>",
    "implementation_address": "<YOUR_IMPLEMENTATION_ADDRESS>"
}

The response returns { "factory": ... }.

Register an issuer that was already deployed

Use POST /issuer/register when a wallet or another system already deployed the cap table and you only need the TAP record.

Add these fields to the same issuer body used in Create Issuer:

{
    "id": "<BYTES16_ISSUER_ID>",
    "deployed_to": "<CAP_TABLE_ADDRESS>",
    "tx_hash": "<DEPLOY_TX_HASH>"
}

If you have the original contract id from the deployment — a 32-hex-character value like b6ca9d9c1daa4b30830b444561ef7806 (the UUID without dashes) — send it as the id field. This keeps the TAP record aligned with the deployed contract. If you omit id, TAP generates a new UUID, which means the TAP record won’t share the same ID as the deployed contract.

Send the same issuer fields used in Create Issuer, plus deployed_to and tx_hash.

The response returns { "issuer": ... }. Use that issuer object in later API calls.

Import an existing OCF cap table

Use POST /mint-cap-table when you already have an OCF manifest and want TAP to import the cap table, deploy it, and save the resulting deployed_to address on the issuer.

This route expects a multipart/form-data upload with a zip file that contains one or more ocf.json files.

curl -X POST http://localhost:8293/mint-cap-table \
  -F "file=@/path/to/your-ocf-manifest.zip"

After the import finishes, use the returned issuer record for later API calls, then check View History to confirm what was created.

Read issuer records

  • GET /issuer/id/:id returns a small issuer lookup, not the full issuer detail object.
  • GET /issuer/total-number returns the issuer count.

For most workflows, the response from POST /issuer/create or POST /issuer/register is still the main issuer record you keep.

What’s next?

Use View History to check what has already been recorded for the issuer.