Authorization requirements

Learn how to define and manage authorization requirements for transactions and transfers, including setting default policies and handling counterparty requests.

Your Authorization requirements

Define your Transaction Authorization Policies to specify what you need from other Agents, such as a travel rule message with personal information about the Originator.

Setting Default Policies

  • Via Notabene Platform: Go to Policies -> Transactions -> Requirements tab and enable them. These will apply automatically to relevant transfers.
  • Via API: Use entity/:entityDID/policy. Contact support for custom policies.

Updating Specific Transfers

  • Use PATCH /entity/:entityDID/tx/:tx/policies. Contact support for custom policies.

Counterparty Authorization requirements

Part of the incoming Transfer request are the Initiator's authorization requirements. Any other counterparty in the transfer can request data or actions from other entities.

In Travel Rule and regular transfer cases, the Initiator may require you to confirm ownership of the address and that it is registered with the intended beneficiary. They might also require you to authorize the transfer before sending it on-chain.


Via webhooks

When you have webhooks enabled you can subscribe to tap.requireRelationshipConfirmationRequestedand tap.requireAuthorizationRequestedto get any authorization requirements from counterparties:


Via API polling for TAP policies

To GET the status of a transfer's authorization requirements, Notabene offers two API endpoints:

  • Get All Policies: GET {{url}}/entity/:entityDID/tx/:tx/tap-policies

Example response:

{
    "policies": [
        {
            "@id": "6efcdb38-0ec3-4b24-b1bb-e7cd4c48b0d4",
            "@type": "REQUIRE_RELATIONSHIP_CONFIRMATION",
            "from": "did:pkh:bip122:000000000019d6689c085ae165831e93:bc1q7avt8qgn3st8gcklo23vmk262quf36247vacrg",
            "for": "did:web:vasps.id:martin63:de",
            "status": "COMPLETED",
            "fromRole": "SettlementAddress",
            "fromAgent": null,
            "createdAt": "2025-12-11T08:45:08.636Z",
            "updatedAt": "2025-12-11T08:46:23.114Z"
        },
        {
            "@id": "90c045ea-b6c4-4d93-b0af-6f62d0eb7719",
            "@type": "REQUIRE_PRESENTATION",
            "from": "did:web:vasps.id:martin63:de",
            "for": "did:web:vasps.id:martin73:jp",
            "status": "COMPLETED",
            "fromRole": "VASP",
            "fromAgent": "originator",
            "createdAt": "2025-12-11T08:45:08.740Z",
            "updatedAt": "2025-12-11T08:46:43.562Z",
            "presentationDefinition": "https://pd.notabene.id/ivms101/v2/DE-0.json"
        },
        {
            "@id": "366ceea6-5e49-47e5-8057-5fa619524335",
            "@type": "REQUIRE_PRESENTATION",
            "from": "did:web:vasps.id:martin63:de",
            "for": "did:web:vasps.id:martin73:jp",
            "status": "COMPLETED",
            "fromRole": "VASP",
            "fromAgent": null,
            "createdAt": "2025-12-11T08:45:10.245Z",
            "updatedAt": "2025-12-11T08:46:43.586Z",
            "presentationDefinition": "https://pd.notabene.id/ivms101/v2/JP-0.json"
        }
    ]
}

  • Get Specific Policy: GET {{url}}/entity/:entityDID/tx/:tx/tap-policies/:policyId

Example response::

{
    "policy": {
        "@id": "90c045ea-b6c4-4d93-b0af-6f62d0eb7719",
        "@type": "REQUIRE_PRESENTATION",
        "from": "did:web:vasps.id:martin63:de",
        "for": "did:web:vasps.id:martin73:jp",
        "status": "COMPLETED",
        "fromRole": "VASP",
        "fromAgent": "originator",
        "createdAt": "2025-12-11T08:45:08.740Z",
        "updatedAt": "2025-12-11T08:46:43.562Z",
        "presentationDefinition": "https://pd.notabene.id/ivms101/v2/DE-0.json",
        "encryptionKey": {
            "id": "did:web:vasps.id:martin73:jp#notabene-pii",
            "type": "JsonWebKey2020",
            "controller": "did:web:vasps.id:martin73:jp",
            "publicKeyJwk": {
                "kty": "EC",
                "crv": "P-256",
                "x": "33NBb2XqTxR8_p-pkT52wQAG4JD2m724m3Kqv51Rs2s",
                "y": "aTB9NrQK1NHybDmTzDRzlhOvmURoTV5CySpUvhroOzI"
            }
        }
    }
}



Did this page help you?